corex/command

此包已被废弃,不再维护。作者建议使用 symfony/console 包。

命令框架

2.1.2 2017-11-04 11:57 UTC

This package is auto-updated.

Last update: 2022-02-01 13:01:22 UTC


README

php的命令框架。

License Build Status codecov

您将认出一些熟悉的模式,例如Laravel的签名,但具有附加属性。这是为了在其他框架和CMS中未来使用。

运行 "php crcmd" 以查看可用命令列表。

运行 "php crcmd help make:shortcut" 在当前目录中创建快捷方式。此文件可以修改以满足您的需求,例如禁用内部命令。如果您指定 --command,您将能够为特定命令创建快捷方式。

每个创建的命令都必须以 "Command.php" 结尾,例如 "MyCommand.php"。否则它将不会添加到可用命令列表中。

安装

  • 运行 "composer require corex/command"。

命令(内部)。

  • make:command - 此命令创建命令。
  • make:shortcut - 此命令在当前目录中创建快捷方式。
  • json:delete - 删除键。
  • json:get - 获取键。
  • json:set - 在json中设置键。

命令文档

查看现有命令以查看示例。源代码可以在vendor包中找到。

属性

$component

每个命令都属于一个组件。此属性指定组件名称。必须指定为小写。可以设置为空字符串,此时将是“main”命令(无组件)。

$signature

此签名描述了命令的参数和选项。它遵循与Laravel 5相同的设置。

格式为 "command {argument/--option : description} {argument/--option : description}"

  • 第一部分 "command" 是命令名称。必须指定为小写。
  • 第二部分 "{argument/--option : description}" 是参数和选项的格式。可以指定多次。每个参数/选项必须被{}包围。
    • 每个参数都是必需的,除非您在参数名称末尾添加一个"?"。如果添加了"?",参数将返回null。
    • 每个选项都必须以"--"开头。如果在线上指定,它将为true,否则为false。如果您需要解析值,请添加"="。

$description

这是您将在可用命令列表中看到的简短描述。

$visible

此选项可以是true或false。如果为false,它将不会显示在命令列表中。您仍然可以使用"help"来显示命令,并且它仍然可以正常工作。

您的代码位于名为run()的方法中。

开发时的辅助工具

在开发中使用 "$this->" 时,将有一长串方法帮助你编写命令,例如 table()、header()、info()、throwError()、words()、choice() 等。

开始

要使用命令开始一个新项目,请按照以下步骤操作:

  • 安装包。
  • 为命令设置命名空间。
  • 使用 "make:shortcut" 在项目的根目录创建快捷方式。
  • 修改并设置 registerOnPath()。
  • 使用 "make:command" 创建新的命令并修改它。

配置

设置项目的配置。

设置 config-path。默认为 {root}/config。

使用 $this->config('path.to.my.config')。使用点表示法。第一个部分是文件本身。其余是数组。

示例:如果你有一个以下配置文件 config/vars.php,其中包含以下数组...

return [
    'test' => [
        'example' => 'testing'
    ]
];

...

$myVar = $this->config('vars.test.example');

...