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

穿越時空
发布: 2025-12-23 10:44:51
原创
949人浏览过
Composer 的 scripts 是 composer.json 中定义的命令别名,用于执行代码检查、测试等自动化任务,支持字符串、数组及 PHP 回调形式,并可在生命周期事件(如 post-install-cmd)中自动触发或手动运行。

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

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

如何定义 scripts

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

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

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

如何手动运行 scripts

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

AutoIt3 中文帮助文档打包
AutoIt3 中文帮助文档打包

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

AutoIt3 中文帮助文档打包 57
查看详情 AutoIt3 中文帮助文档打包
  • 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中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号