Composer脚本事件可用于在生命周期执行自定义任务。主要事件包括:安装更新类(pre/post-install-cmd、pre/post-update-cmd)、包操作类(pre/post-package-install/update/uninstall)、自动加载类(pre/post-autoload-dump)、插件类(post-root-package-install、post-create-project-cmd)、脚本流程类(pre-command-run)及自定义命令,通过scripts字段定义,支持PHP脚本与CLI工具,实现自动化构建与环境初始化等功能。
Composer 提供了一系列脚本事件(Script Events),允许你在特定生命周期执行自定义脚本。这些事件可以绑定到项目
composer.json
文件的
字段中,用于运行 PHP 脚本、命令行工具或自动化任务。
常见可用的脚本事件
以下是 Composer 支持的主要脚本事件,按执行时机分类:
1. 安装与更新相关事件
这些事件在执行
、
等命令时触发:
pre-install-cmd
:在安装前执行
post-install-cmd
:在安装完成后执行
pre-update-cmd
:在更新前执行
post-update-cmd
:在更新完成后执行
2. 包操作事件
在包被安装、更新或卸载时触发:
pre-package-install
:包安装前
post-package-install
:包安装后
pre-package-update
:包更新前
post-package-update
:包更新后
pre-package-uninstall
:包卸载前
post-package-uninstall
:包卸载后
3. 自动加载与 dump 事件
在生成自动加载文件时触发:
pre-autoload-dump
:在生成 autoload 文件前
post-autoload-dump
:在生成 autoload 文件后
4. 插件相关事件
插件初始化和启用过程中的事件:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
post-root-package-install
:根包(你的项目)安装完成后
post-create-project-cmd
:使用
创建项目后执行,常用于初始化配置、清除占位文件等
5. 脚本执行流程事件
在脚本执行的不同阶段触发:
pre-command-run
:在任意 Composer 命令运行前触发
command-event
:命令事件的通用钩子(较少直接使用)
script-runner
:脚本运行器启动时
6. 自定义脚本命令
你可以定义自己的脚本并绑定到任意名称,例如:
然后通过
执行。
基本上就这些常用事件。合理使用它们可以实现自动化构建、环境检查、缓存清理、代码生成等功能。注意事件名称区分大小写,建议参考官方文档确认拼写。
"scripts"composer installupdatecreate-project"scripts": {
"my-script": [
"@php script.php"
]
}composer run my-script