Composer支持通过composer run script -- --args方式向脚本透传参数,PHP脚本可用$argv接收并解析,外部命令如Node.js或Python脚本同样适用,需注意使用--分隔符、避免空格、提供默认值和参数校验,提升脚本灵活性与健壮性。

在使用 Composer 时,我们经常需要通过自定义脚本(scripts)来执行一些自动化任务,比如运行测试、构建项目或清理缓存。但有时这些脚本本身也需要接收参数来控制行为。幸运的是,Composer 支持将命令行参数透传给脚本,实现更灵活的调用方式。
Composer 的脚本(scripts)是定义在 composer.json 中的命令别名。当你运行 composer run
关键点是:只有使用 composer run 并配合 -- 才能正确透传参数。例如:
这里的 --env=prod 和 --minify 就会被脚本接收到。
如果脚本是一个 PHP 文件,你可以通过 $argv 获取所有传入的参数。注意 $argv[0] 是脚本名称,实际参数从 $argv[1] 开始。
假设你有这样一个脚本文件 scripts/build.php:
// scripts/build.php然后在 composer.json 中注册脚本:
"scripts": {运行命令:
composer run build -- --env=prod --minify输出结果:
Building for environment: prod脚本也可以是 shell 命令或其他可执行程序。例如,调用 Node.js 脚本或 Python 程序时,同样可以透传参数。
"scripts": {运行:
composer run deploy -- --target=staging --dry-run这会把 --target=staging --dry-run 传给 deploy.js。
基本上就这些。掌握参数透传后,你的 Composer 脚本会变得更强大和通用。不复杂但容易忽略。
以上就是如何向一个Composer脚本传递命令行参数_Composer scripts高级用法之参数透传的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号