Composer脚本是将shell命令、PHP脚本或Composer命令封装为可复用别名,通过composer run-script或简写composer xxx触发;支持数组顺序执行、内置别名引用、事件钩子自动执行及跨平台PHP脚本替代。

在 composer.json 的 scripts 段中定义自定义命令,本质是把 shell 命令、PHP 脚本或 Composer 命令封装成可复用的别名,通过 composer run-script xxx 或简写 composer xxx 触发。
在 composer.json 的 "scripts" 对象里添加键值对,键是命令名(如 "test"),值是待执行的命令字符串或数组:
"test": "phpunit"
"test": ["@clear-cache", "phpunit --colors=always"]
@dev、@prod,也可引用其他自定义脚本:"clear-cache": "rm -rf var/cache/*"
rm)Composer 脚本不仅可手动运行,还能绑定到生命周期事件,例如:
"post-install-cmd":运行 composer install 后触发"pre-autoload-dump":生成自动加载文件前执行"post-update-cmd":运行 composer update 后触发这些钩子会自动执行,无需手动调用;多个脚本可用数组定义,顺序执行。
定义好后,有三种常用执行方式:
自定义设置的程度更高可以满足大部分中小型企业的建站需求,同时修正了上一版中发现的BUG,优化了核心的代码占用的服务器资源更少,执行速度比上一版更快 主要的特色功能如下: 1)特色的菜单设置功能,菜单设置分为顶部菜单和底部菜单,每一项都可以进行更名、选择是否隐 藏,排序等。 2)增加企业基本信息设置功能,输入的企业信息可以在网页底部的醒目位置看到。 3)增加了在线编辑功能,输入产品信息,企业介绍等栏
0
composer run-script test —— 显式调用,最清晰composer test —— 简写形式(Composer 2.2+ 支持,要求脚本名不含连字符或特殊字符)composer run-script test --no-ansi --verbose —— 加参数控制输出行为注意:如果脚本名和 Composer 原生命令冲突(比如叫 "install"),必须用完整 run-script 形式,否则会执行原生命令。
脚本出错时,Composer 默认只显示返回码。开启调试更方便定位问题:
--verbose 查看完整命令和输出--no-interaction 避免交互式命令卡住 CI 流程rm、mkdir -p 等 bash 特有命令,改用 php -r "exec('rd /s /q cache');" 或专用 PHP 脚本$COMPOSER_HOME、$PWD 等,但不要依赖未声明的自定义变量(不会自动注入)基本上就这些。脚本能力不复杂但容易忽略细节,合理利用能显著简化日常开发和部署流程。
以上就是如何在 composer.json 的 scripts 中定义并执行自定义命令?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号