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

标签 php composer-php autoload psr-4

我正在使用 PHP 处理一个简单的项目,并且正在使用 PSR-4 自动加载。我只是想知道是否有办法运行 composer dump-autoload -ocomposer install ,这样新用户就不需要输入 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"]
    }
}

最佳答案

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

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

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

在你的脚本中。

关于php - 自动生成优化的自动加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055497/

相关文章:

php - 存储命名空间的类在哪里?

php - 更改过期日期后的值 PHP MYSQL

php - 是否有类似 Python 的 PHP ctype 的东西?无需编写扩展即可访问库?

php - 如何从包中创建自定义航海者表单字段?

laravel - "Composer update for Laravel: Requirements could not be resolved to an installable set of packages."

PHP 自动加载命名空间

php - 使用 PHP 回显 JSON 响应

php - SQL 将 "-large"附加到列名称为 "clean_name"的每隔一行

php - 如何删除 composer php 中的所有测试?

php - Symfony2 文件发现类不在其中