corex/console

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

控制台框架(artisan、命令、可见性、递归)

1.0.2 2018-04-06 12:07 UTC

This package is auto-updated.

Last update: 2022-02-01 13:12:45 UTC


README

基于 illuminate/console 的控制台框架(artisan、命令、可见性)。

License Build Status codecov

Laravel 有一个名为 illuminate/console 的包,它出色地提供了命令服务。

corex/console 包使得在 Laravel 之外使用命令成为可能,并增加了更多功能。

  • 支持使用 Laravel 的命令实现方式。
  • 支持使用 Symfony 的命令实现方式。

安装

  • 运行 "composer require corex/console"。

命令(内部)。

  • make:artisan - 此命令在项目根目录创建一个新的 "artisan"(创建的 artisan 可以根据您的需求进行修改)。
  • make:command - 此命令在当前目录创建一个新的命令。

关于 "artisan" 文件的一则说明。

  • 可以在 "$artisan->execute()" 上指定参数数组或签名,这样它将执行命令而不是显示命令列表。
  • 在添加单个命令或扫描命令时,可以覆盖命令上的 $hidden 属性。

命令

请访问 Laravel 的文档来了解如何编写命令。

每个创建的命令都必须以 "Command.php" 结尾,例如 "MyCommand.php"。否则,它将不会添加到可用命令列表中。您可以在 Artisan 设置中更改这一点。

当使用 "make:command" 时,创建的命令将扩展 CoRex\Console\BaseCommand,它扩展了 Illuminate\Console\Command。

BaseCommand 上存在以下方法。

  • write() - 在不换行的情况下将文本输出到控制台。
  • writeln() - 在控制台输出带换行的文本。
  • header() - 输出一个标题后跟一个分隔符。
  • separator() - 输出一个分隔符。
  • words() - 输出分隔的单词数组(implode())。
  • properties() - 逐行输出关联数组键/值。
  • setLineLength() - 这设置行的长度,即用于分隔符。
  • setLineLengthFull() - 这将行的长度设置为终端的长度,即用于分隔符。
  • getLineLength() - 获取长度,即分隔符。
  • throwError() - 抛出格式化的异常(白色在红色上)。