通过配置composer.json的scripts字段可实现自动化任务,如执行测试、清理文件或启动服务。首先在scripts中添加自定义命令,例如”hello”: [“echo ‘Hello from Composer!'”],保存后运行composer hello即可触发;也可调用外部PHP脚本,如创建scripts/greet.php并配置”greet”: [“php scripts/greet.php”],通过composer greet执行;支持使用闭包函数处理事件,如”post-update-cmd”: [“AppScriptHandler::onPostUpdate”],需实现对应静态方法接收Event参数;还可组合多个命令顺序执行,如”build”: [“rm -rf build/”, “mkdir build”, “cp -r src build/”],运行composer build完成构建流程。
如果您希望在项目中通过 Composer 执行自定义的自动化任务,可以通过配置 scripts 字段来实现。这些脚本可用于执行测试、清理文件、启动服务等操作。
本文运行环境:MacBook Pro,macOS Sonoma
一、理解 Composer Scripts 的作用
Composer 支持在 composer.json 中定义 scripts 字段,用于绑定命令到特定事件或创建自定义命令。这些脚本可以是 shell 命令或 PHP 脚本路径。
1、scripts 可以监听如 post-install-cmd、pre-update-dump 等生命周期事件。
2、也可以通过自定义命名,在命令行手动调用执行。
二、配置自定义脚本命令
要在 composer.json 中添加可调用的自定义命令,需在 scripts 键下设置一个名称,并关联对应的命令。
1、打开项目根目录下的 composer.json 文件。
2、在 “scripts” 字段中新增一个键值对,例如:
“hello”: [“echo ‘Hello from Composer!'”]
3、保存文件后,在终端运行 composer hello 即可看到输出结果。
三、执行外部 PHP 脚本
除了直接执行命令,还可以通过 Composer 调用独立的 PHP 文件,适合封装复杂逻辑。
1、在项目中创建脚本文件,例如 scripts/greet.php。
2、编写基本内容:
<?php echo “Welcome to custom script!”; ?>
3、在 composer.json 的 scripts 中添加:
“greet”: [“php scripts/greet.php”]
4、运行 composer greet 触发该脚本执行。
四、使用闭包函数作为脚本处理器
对于更精细的控制,可以注册 PHP 闭包函数响应 Composer 脚本事件,需要确保类自动加载支持。
1、在 scripts 键中指定类和方法,例如:
“post-update-cmd”: [“AppScriptHandler::onPostUpdate”]
2、确保命名空间对应文件路径,并实现静态方法 onPostUpdate。
3、方法接收一个 ComposerScriptEvent 参数,可用于获取上下文信息。
4、执行 composer update 后,该方法将在更新完成后自动调用。
五、组合多个命令顺序执行
一个脚本条目可以包含多个命令,按数组顺序依次执行,适用于构建流程。
1、在 composer.json 中定义多命令脚本:
“build”: [“rm -rf build/”, “mkdir build”, “cp -r src build/”]
2、这些命令将按顺序在 shell 中执行。
3、运行 composer build 即可完成整个构建动作。
以上就是php js json composer 处理器 app macbook mac macos cos 键值对 php composer json echo 命名空间 封装 Event 闭包 事件 macos 自动化