autoload-dev用于定義開發(fā)環(huán)境下的自動加載規(guī)則,如測試類、調試工具等,支持PSR-4、classmap等方式,通過composer install --no-dev可排除這些配置,避免加載測試代碼至生產環(huán)境,減少運行時開銷。
autoload-dev 是 composer.json 中的一個配置項,用于定義僅在開發(fā)環(huán)境下使用的自動加載規(guī)則。它和 autoload 的作用類似,但只在執(zhí)行測試、靜態(tài)分析、調試等開發(fā)相關任務時生效。
項目中的測試代碼(如 PHPUnit 測試類)、代碼生成腳本、本地配置文件等通常不會隨生產環(huán)境部署。這些文件放在 autoload-dev 指定的目錄中,Composer 會為它們生成自動加載映射,但僅在開發(fā)階段使用。
autoload-dev 支持與 autoload 相同的加載方式:PSR-4、PSR-0、classmap 和 files。
{ "autoload": { "psr-4": { "App\": "src/" } }, "autoload-dev": { "psr-4": { "App\Test\": "tests/", "PHPUnit\": "vendor/phpunit/" }, "files": [ "src/helpers.php" ] } }
運行 composer install 或 composer dump-autoload 后,Composer 會把這些規(guī)則寫入自動加載器。生產環(huán)境中執(zhí)行 composer install --optimize-autoloader --no-dev 時,autoload-dev 的內容會被忽略。
一旦執(zhí)行帶 --no-dev 的安裝命令,這些開發(fā)用的自動加載規(guī)則就不會被寫入最終的 vendor/autoload.php,從而減小生產環(huán)境的加載開銷。
基本上就這些。簡單說,autoload-dev 就是給開發(fā)者自己用的自動加載配置,不影響線上運行。每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數據和不必要的后臺進程會占用資源并降低性能。幸運的是,許多工具可以讓 Windows 保持平穩(wěn)運行。
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號