post-root-package-install 事件在项目根包安装后触发,用于执行初始化操作;2. 可通过 composer.json 的 scripts 字段配置内联命令、静态方法或外部脚本;3. 常用于生成配置文件、提示用户操作等场景,仅执行一次,适用于项目创建或首次安装。
当 Composer 安装项目根包(即你项目中的
对应的包)完成后,会触发
post-root-package-install
事件。这个事件通常在新建项目、运行
或
时被调用。
你可以通过在
中定义脚本来处理该事件,实现一些初始化操作,比如生成
配置文件
、提示用户下一步操作等。
如何配置 post-root-package-install 脚本
在项目的
文件中,使用
字段添加对
的监听:
支持的脚本类型包括:
内联命令
:如
,适合简单输出或调用 PHP 代码
静态方法调用
:格式为
,类需可自动加载
外部脚本
:如执行 shell 脚本
实际应用场景
这个事件常用于项目初始化阶段,比如:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
创建默认配置文件(如
示例)
提示用户修改配置权限
清除敏感文件或说明安装完成
例如 Laravel 的
就利用此事件显示“欢迎使用”的提示信息。
注意事项
该事件只在根包安装后触发一次,不会在后续更新或依赖安装时重复执行。确保脚本幂等或仅适用于初始化场景。
如果脚本是 PHP 类方法,需确保其所在命名空间能被 Composer 自动加载(一般放在
或已配置的 autoload 路径中)。
基本上就这些。
composer.jsoncomposer installcreate-projectcomposer.jsoncomposer.jsonscriptspost-root-package-install
{
"name": "your-vendor/your-project",
"type": "project",
"require": {},
"scripts": {
"post-root-package-install": [
"@php -r "echo '欢迎使用本项目!\n';"",
"SomeScript::welcome"
]
}
}
@php -r "echo ..."ClassName::methodNamesh ./init.sh.envcreate-projectsrc/