首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Composer不自动加载包

Composer不自动加载包
EN

Stack Overflow用户
提问于 2013-06-19 23:18:37
回答 2查看 4.5K关注 0票数 7

我目前正在开发Laravel 4。我已经在我的composer.json中添加了以下内容,并运行了更新:

代码语言:javascript
复制
    "require": {
        ...
        "koraktor/steam-condenser": "*"

软件包:https://packagist.org/packages/koraktor/steam-condenser

我遇到的问题是,如果我调用它使用的一个类,例如:

代码语言:javascript
复制
$steamUser = new SteamId('000000000000000000');
echo "Welcome, " . $steamUser->getNickname() . "<br />";

我得到错误Class 'SteamId' not found

如果我手动需要所需的文件,那么它可以完美地工作:

代码语言:javascript
复制
require_once('/home/path-to-laravel/laravel/vendor/koraktor/steam-condenser/lib/steam-condenser.php');

我已经运行了composer dump-autoload,但仍然不能工作。有人知道这是为什么吗?我真的很沮丧:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-19 23:55:11

蒸汽冷凝器(尚未)符合PSR-0,因此您必须使用不同的自动加载方法(参见http://getcomposer.org/doc/04-schema.md#autoload)。

这里最适合使用files方法:

代码语言:javascript
复制
{
    "autoload": {
        "files": ["vendor/koraktor/steam-condenser/lib/steam-condenser.php"]
    }
}
票数 10
EN

Stack Overflow用户

发布于 2013-06-19 23:25:31

只需要一个包,并不会强制composer自动加载包。

看一看composer的自动加载,但像这样的东西应该可以让你开始:

代码语言:javascript
复制
autoload: {
    "classmap": ["vendor/koraktor/steam-condenso/lib"]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17195044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档