自动生成优化的自动加载器

Generating optimized autoloader automatically

我正在使用 PHP 开发一个简单的项目,并且我正在使用 PSR-4 自动加载。我只是想知道是否有办法在 composer install 上 运行 composer dump-autoload -o,这样新用户就不需要输入 composer dump-autoload -o 来避免自动加载错误

{
    "name": "project/vendor",
    "license": "MIT",
    "authors": [
        {
            "name": "my name",
            "email": "myemail@gmail.com"
        }
    ],
    "require": {
        "phpunit/phpunit": "^7.5"
    },
    "autoload": {
          "psr-4": {
              "src\": "src/"
           }
     },
     "scripts": {
        "run-test": ["./vendor/bin/phpunit tests/calculatorTests.php"]
    }
}

您可以在 composer.json config 中使用 optimize-autoloader 选项:

"config": {
    "optimize-autoloader": true
},

然而,这在开发阶段可能会很烦人(生成优化的自动加载器只是浪费时间和问题的根源),所以我宁愿为此创建一些快捷脚本并鼓励用户使用它而不是直接 composer dump-autoloadcomposer install。参见 this answer as an example。然后你可以使用

composer install --no-dev -o 

在你的脚本中。