在composer dump-autoload之前,类不工作

时间:2016-03-12 16:37:46

标签: php laravel

我创建了文件夹名称 - Birds并在此文件夹中创建了类Birds.php,然后将其添加到composer.json,

"autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Birds\\": "Birds/",
        }
    },

要加载我必须运行 - composer dump-autoload -o并且第一次拿到该文件夹​​就没问题了,但后来我创建了这样的新接口类:

namespace Birds\Validator;


interface BadgeInterface
{
    public function test();
}

接口类在运行composer dump-autoload之前不能正常工作,

我的问题是为什么我每次都需要这样做?我正在使用laravel作为框架。

由于

2 个答案:

答案 0 :(得分:1)

这就是composer的工作原理。 Laravel只是一个PHP框架,因此无法一直运行composer或其他工具。

如果您需要随时自动添加文件,可以使用cronLaravel's schedule command。例如,它将每5分钟为您完成所有工作。

答案 1 :(得分:0)

这是因为当您创建任何类composer文件夹时,autoload.php无法更新。这导致您需要手动运行它。它清除你在最后一个命令安装任何包时运行是composer autoload更新autoload.php文件中的所有引用