decodelabs/effigy

通用CLI入口点

v0.4.26 2024-09-04 22:06 UTC

README

PHP from Packagist Latest Version Total Downloads GitHub Workflow Status PHPStan License

通用CLI入口点

Effigy是一个全球安装的通用CLI工具,可以轻松在您的应用程序中运行任务。

DecodeLabs博客上获取新闻和更新。

安装

composer global require decodelabs/effigy

您还需要将全局Composer安装的bin目录添加到您的$PATH中,在~/.bash_profile或~/.bashrc文件中。

export PATH=~/.config/composer/vendor/bin:$PATH

注意,Composer的早期版本可能将全局配置存储在~/.composer/vendor/bin中 - 根据需要调整您的$PATH。您可以使用composer global config home找到Composer的主目录。

使用方法

Effigy可用于简化通过命令行在项目中运行任务。它的主要任务是找到一个全局安装的可执行文件,加载您项目的主入口点。

例如,您目前通过webroot/index.php作为主要入口点运行项目中的命令

php webroot/index.php run-task

在您的composer.json文件中定义您的入口点

{
    "extra": {
        "effigy": {
            "entry": "webroot/index.php"
        }
    }
}

然后您可以直接通过effigy可执行文件运行项目中可用的CLI命令

effigy run-task

如果您需要每个环境入口文件,请在您的composer配置中指定模板键

{
    "extra": {
        "effigy": {
            "entry": "entry/{{env}}.php"
        }
    }
}

然后第一次运行时,Effigy将要求输入“env”参数并将其保存在本地配置文件中(该文件将被添加到您的.gitignore中)。

本地安装

如果您不想全局安装Effigy,您可以使用它作为项目中的本地可执行文件。

composer require decodelabs/effigy
vendor/bin/effigy install-local

然后您可以这样调用effigy

./effigy run-task

PHP二进制文件

Effigy可以根据项目基础使用替代版本的PHP

effigy set-php
> php8.1

bin路径存储在您的本地配置中,所有后续进程启动都将使用此路径。将其重置为“php”以使用默认的系统全局二进制文件。

Composer透明传输

Effigy将尝试运行在您的composer.json中定义的脚本

{
    "scripts": {
        "analyze": "phpstan analyze"
    }
}
effigy analyze

您也可以直接通过effigy运行composer命令

effigy composer require decodelabs/atlas

如果您为项目定义了替代版本的PHP,这特别有用,因为全局Composer将使用全局PHP。

许可

Effigy遵循MIT许可证。请参阅LICENSE以获取完整的许可文本。