elfsundae / console
基于 Laravel Console 的 CLI 库,用于创建 PHP 控制台应用程序。
1.0.2
2017-09-20 14:07 UTC
Requires
- php: >=5.6.4
- illuminate/console: ^5.4
- illuminate/container: ^5.4
- illuminate/events: ^5.4
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.7
Suggests
- vlucas/phpdotenv: Loads environment variables from .env to getenv(), $_ENV and $_SERVER automagically.
This package is auto-updated.
Last update: 2024-08-29 04:43:01 UTC
README
基于 Laravel Console 的 CLI 库,用于创建 PHP 控制台应用程序。
安装
$ composer require elfsundae/console
使用
首先,创建一个 PHP 脚本并使其可执行
#!/usr/bin/env php <?php require __DIR__.'/vendor/autoload.php'; $app = new ElfSundae\Console\Application; // ... register commands $app->run();
然后,您可以使用 add
或 command
方法注册命令。
add
方法接受一个 Illuminate\Console\Command
实例或一个 Symfony\Component\Console\Command\Command
实例。可以使用 command
方法注册基于闭包的命令,它接受三个参数:命令签名、接收命令参数和选项的闭包,以及命令的可选描述。
class Example extends Illuminate\Console\Command { protected $signature = 'example {--foo=bar : The "foo" option description}'; protected $description = 'Example command description'; public function handle() { $this->comment($this->option('foo')); } } $app->add(new Example); $app->command('title {username}', function ($username) { $this->comment(title_case($username)); }, 'The `title` command description');
要构建单个命令应用程序,可以将 true
传递给 setDefaultCommand
方法的第二个参数,或者直接调用 runAsSingle
方法
(new ElfSundae\Console\Application) ->add($command = new Example) ->getApplication() ->setDefaultCommand($command->getName(), true) ->run();
(new ElfSundae\Console\Application) ->add(new Example) ->getApplication() ->runAsSingle();
文档
测试
$ composer test
许可证
此软件包是开源软件,许可协议为 MIT 许可证。