Composer 的 scripts 是 composer.json 中定义的命令别名,用于执行代码检查、测试等自动化任务,支持字符串、数组及 PHP 回调形式,并可在生命周期事件(如 post-install-cmd)中自动触发或手动运行。

Composer 的 scripts 是在 composer.json 中定义的一组命令别名,用于快速执行项目相关的自动化任务,比如代码检查、测试、构建、清理等。它不依赖外部任务管理工具(如 Make 或 npm scripts),开箱即用,且能跨平台运行。
在 composer.json 的 scripts 字段下,以键值对形式声明脚本名称和对应命令:
test、cs-check)"Vendor\Class::method")示例:
"scripts": {
"test": ["phpunit --colors=always", "phpstan analyse src/"],
"cs-check": "php-cs-fixer check src/",
"post-install-cmd": "MyApp\Script::onInstall"
}Composer 在执行某些生命周期操作时会自动运行对应名称的脚本,无需手动调用。常见内置事件包括:
pre-install-cmd:运行 composer install 前post-install-cmd:运行 composer install 后(含首次安装)pre-update-cmd:运行 composer update 前post-update-cmd:运行 composer update 后post-autoload-dump:自动加载文件生成后(如修改了 autoload 配置)这些事件适合做环境初始化、缓存清除、配置生成等操作。
使用 composer run(推荐,Composer 2.2+)或兼容写法 composer run-script:
AutoIt v3 版本, 这是一个使用类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面)中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的组合来实现自动化任务. 而这是其它语言不可能做到或无可靠方法实现的(比如VBScript和SendKeys). AutoIt 非常小巧, 完全运行在所有windows操作系统上.(thesnow注:现在已经不再支持win 9x,微软连XP都能放弃, 何况一个win 9x支持), 并且不需要任何运行库. AutoIt
57
composer run test → 执行 "test" 脚本composer run cs-fix -- --dry-run → 向脚本传参(-- 后的内容透传给实际命令)composer run post-update-cmd → 手动触发事件脚本(调试用)注意:脚本中命令默认在项目根目录执行,路径可直接写相对路径(如 ./vendor/bin/phpunit)。
当需要更复杂逻辑(如判断环境、读取配置、交互式提示),可写 PHP 方法作为脚本入口:
public static
ComposerScriptEvent 对象参数,从中可获取 IO、composer 实例、命令类型等信息true 表示成功,false 或抛异常表示失败(会中断后续操作)示例方法:
namespace MyApp;
use ComposerScriptEvent;
class Script
{
public static function onInstall(Event $event)
{
$io = $event->getIO();
$io->write("Running post-install tasks...");
// 执行自定义逻辑...
return true;
}
}确保该类能被 Composer 自动加载(例如注册进 autoload 的 psr-4 或 classmap)。
以上就是Composer中的scripts脚本如何使用?(自动化任务配置)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号