| Package Data | |
|---|---|
| Maintainer Username: | ElfSundae |
| Maintainer Contact: | elf.sundae@gmail.com (Elf Sundae) |
| Package Create Date: | 2017-08-13 |
| Package Last Update: | 2017-09-20 |
| Home Page: | |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-10-18 15:14:35 |
| Package Statistics | |
|---|---|
| Total Downloads: | 19 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 8 |
| Total Watchers: | 1 |
| Total Forks: | 1 |
| Total Open Issues: | 0 |
CLI library based on Laravel Console for creating PHP console application.
$ composer require elfsundae/console
First, create a PHP script and make it executable:
#!/usr/bin/env php
<?php
require __DIR__.'/vendor/autoload.php';
$app = new ElfSundae\Console\Application;
// ... register commands
$app->run();
Then, you can register commands using add or command method.
The add method accepts an Illuminate\Console\Command instance or a Symfony\Component\Console\Command\Command instance. The command method may be used for register a Closure based command, it accepts three arguments: the command signature, a Closure which receives the commands arguments and options, and the optional description of the 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');
To build a single command application, you may pass true to the second argument of the setDefaultCommand method, or just call the runAsSingle method:
(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
This package is open-sourced software licensed under the MIT License.