Composer中的scripts脚本如何使用?(自动化任务配置)

19次阅读

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

Composer中的scripts脚本如何使用?(自动化任务配置)

Composer 的 scripts 是在 composer.json 中定义的一组命令别名,用于快速执行项目相关的自动化任务,比如代码检查、测试、构建、清理等。它不依赖外部任务管理工具(如 Make 或 npm scripts),开箱即用,且能跨平台运行。

如何定义 scripts

composer.jsonscripts 字段下,以键值对形式声明脚本名称和对应命令:

  • 键是自定义的脚本名(如 testcs-check
  • 值可以是字符串(单条命令)、字符串数组(按顺序执行多条命令),或指向 PHP 方法的回调(格式:"Vendorclass::method"

示例:

"scripts": {   "test": ["phpunit --colors=always", "phpstan analyse src/"],   "cs-check": "php-cs-fixer check src/",   "post-install-cmd": "MyappScript::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 配置)

这些事件适合做环境初始化、缓存清除、配置生成等操作。

如何手动运行 scripts

使用 composer run(推荐,Composer 2.2+)或兼容写法 composer run-script

Composer中的scripts脚本如何使用?(自动化任务配置)

AutoIt3 中文帮助文档打包

AutoIt v3 版本, 这是一个使用类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面)中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的组合来实现自动化任务. 而这是其它语言不可能做到或无可靠方法实现的(比如VBScript和SendKeys). AutoIt 非常小巧, 完全运行在所有windows操作系统上.(thesnow注:现在已经不再支持win 9x,微软连XP都能放弃, 何况一个win 9x支持), 并且不需要任何运行库. AutoIt

Composer中的scripts脚本如何使用?(自动化任务配置) 57

查看详情 Composer中的scripts脚本如何使用?(自动化任务配置)

  • composer run test → 执行 "test" 脚本
  • composer run cs-fix -- --dry-run → 向脚本传参(-- 后的内容透传给实际命令)
  • composer run post-update-cmd → 手动触发事件脚本(调试用)

注意:脚本中命令默认在项目根目录执行,路径可直接写相对路径(如 ./vendor/bin/phpunit)。

编写 PHP 回调脚本的要点

当需要更复杂逻辑(如判断环境、读取配置、交互式提示),可写 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 自动加载(例如注册进 autoloadpsr-4classmap)。

以上就是Composer中的scripts脚本如何使用?(自动化任务配置)的详细内容,更多请关注php中文网其它相关文章!

text=ZqhQzanResources