php - Composer 不自动加载包

标签 php laravel composer-php steam-condenser

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

    "require": {
        ...
        "koraktor/steam-condenser": "*"

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

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

$steamUser = new SteamId('000000000000000000');
echo "Welcome, " . $steamUser->getNickname() . "<br />";

我收到错误 Class 'SteamId' not found

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

require_once('/home/path-to-laravel/laravel/vendor/koraktor/steam-condenser/lib/steam-condenser.php');

我已经运行了 composer dump-autoload 但仍然无法正常工作。有人知道为什么吗?这真的让我很沮丧:(

最佳答案

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

使用 files 方法应该最适合这里:

{
    "autoload": {
        "files": ["vendor/koraktor/steam-condenser/lib/steam-condenser.php"]
    }
}

关于php - Composer 不自动加载包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195044/

相关文章:

php - AJAX 和 MVC 混合

php - 在 Laravel 中向注册表单添加字段不起作用

Git 删除远程历史记录

php - artisan clear-compiled 返回错误代码 255

php - 在没有 ssh 访问服务器的情况下使用 Composer

php - 从 GitLab 安装自定义 Composer 包

javascript - PHP 所需或包含的文件是否需要遵循该顺序?

php - laravel 单例模式如何反射(reflect)后续调用的变化?

php - 删除MySQL字段中保存的字符串的一部分

javascript - 从数据库中获取的 Ajax 数据显示