composer scripts脚本怎么用_composer scripts自定义命令的配置与执行

32次阅读

通过配置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脚本怎么用_composer scripts自定义命令的配置与执行

如果您希望在项目中通过 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 中添加:

composer scripts脚本怎么用_composer scripts自定义命令的配置与执行

10Web

AI驱动的WordPress网站自动构建器,托管和页面速度助推器

composer scripts脚本怎么用_composer scripts自定义命令的配置与执行93

查看详情 composer scripts脚本怎么用_composer 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 自动化

php js json composer 处理器 app macbook mac macos cos 键值对 php composer json echo 命名空间 封装 Event 闭包 事件 macos 自动化

text=ZqhQzanResources