7

我目前正在开发 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,还是不行。有人知道为什么吗?这真的让我很沮丧:(

4

2 回答 2

10

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

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

{
    "autoload": {
        "files": ["vendor/koraktor/steam-condenser/lib/steam-condenser.php"]
    }
}
于 2013-06-19T15:55:10.510 回答
1

只需要一个包,不会强制作曲家自动加载包。

看看使用 composer 进行自动加载,但是像这样的东西应该让你开始:

autoload: {
    "classmap": ["vendor/koraktor/steam-condenso/lib"]
}
于 2013-06-19T15:25:31.493 回答