安装我的包后可以自动执行`composer dump-autoload`吗?

时间:2016-12-28 23:15:39

标签: php laravel laravel-5 composer-php

我写了一个Laravel包,我希望每个人都可以下载。

但是,我添加包后似乎必须手动执行composer dump-autoload

安装后是否可以自动执行composer dump-autoload,以便作曲家自动加载项目中的所有新类?

1 个答案:

答案 0 :(得分:7)

是的,您可以将其添加到"更新后" composer.json的脚本部分。然后在每次更新项目后执行它。你也可以在" post-install"中添加它。部分,因此命令将在安装后直接调用。

composer.json的简短摘录:

"scripts": {
        "post-root-package-install": [
            "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "composer dump-autoload", // Here.
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "composer dump-autoload" // Here too.
        ]
    },