1. Go to this page and download the library: Download asika/joomla-console library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
asika / joomla-console example snippets
php
// Load the Composer autoloader
ew Console;
$console->execute();
php
// cli/console.php
$console->register('foo')
->setDescription('This is first level foo command.')
->setUsage('foo command [--option]')
->setHelp('foo help')
->setHandler(
function($command)
{
$command->out('This is Foo Command executing code.');
}
);
bash
$ cli/console.php foo
php
// src/Myapp/Command/FooCommand.php
namespace Myapp\Command;
use Joomla\Console\Command\Command;
class FooCommand extends Command
{
protected $name = 'foo';
public function configure()
{
$this->setDescription('This is first level foo command.')
->setUsage('foo command [--option]')
->setHelp('foo help');
}
public function doExecute()
{
$this->out('This is Foo Command executing code.');
}
}
php
// src/Myapp/Command/FooCommand.php
use Joomla\Console\Option\Option;
//...
public function configure()
{
$this->setDescription('This is first level foo command.')
->setUsage('foo command [--option]')
->setHelp('foo help')
->addCommand(
'bar',
'Bar description.'
)
->addCommand(
'yoo',
'Yoo description.',
array(
new Option(array('y', 'yell'), 0),
new Option('s', 0, 'desc', Option::IS_GLOBAL)
)
);
}
php
// src/Myapp/Command/Foo/BarCommand.php
namespace Myapp\Command\Foo;
use Joomla\Console\Command\Command;
class BarCommand extends Command
{
protected $name = 'bar';
public function configure()
{
$this->setDescription('This is second level bar command.')
->setUsage('bar command [--option]')
->setHelp('bar help')
->addOption(new Option(array('y', 'yell'), 0))
->addOption(new Option('s', 0, 'desc', Option::IS_GLOBAL));
}
public function doExecute()
{
$this->out('This is Bar Command executing code.');
}
}
php
// src/Myapp/Command/FooCommand.php
use Myapp\Command\Foo\BarCommand;
use Myapp\Command\Foo\YooCommand;
//...
public function configure()
{
$this->setDescription('This is first level foo command.')
->setUsage('foo command [--option]')
->setHelp('foo help')
->addCommand(new BarCommand)
->addCommand(new YooCommand);
}
bash
$ cli/console.php foo bar
php
use Myapp\Command\Descriptor\XmlDescriptorHelper;
use Myapp\Command\Descriptor\XmlCommandDescriptor;
use Myapp\Command\Descriptor\XmlOptionDescriptor;
// ...
$descriptor = new new XmlDescriptorHelper(
new XmlCommandDescriptor,
new XmlOptionDescriptor
);
$console->getRootCommand()
->getChild('help')
->setDescriptor($descriptor);
// ...
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.