1. Go to this page and download the library: Download webfiori/cli 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/ */
webfiori / cli example snippets
php
//File 'src/SampleCommand.php'
use webfiori\cli\CLICommand;
class SampleCommand extends CLICommand {
public function __construct(){
parent::__construct('say-hi');
}
public function exec(): int {
$this->println("Hi People!");
}
}
php
// File src/main.php
;
use SampleCommand;
$runner = new Runner();
$runner->register(new SampleCommand());
exit($runner->start());
bash
php main.php say-hi
php
//File 'src/SampleCommand.php'
use webfiori\cli\CLICommand;
use webfiori\cli\Option;
class SampleCommand extends CLICommand {
public function __construct(){
parent::__construct('say-hi', [
'--person-name' => [
Option::OPTIONAL => true
]
]);
}
public function exec(): int {
$this->println("Hi People!");
}
}
php
//File 'src/SampleCommand.php'
use webfiori\cli\CLICommand;
use webfiori\cli\Option;
class SampleCommand extends CLICommand {
public function __construct(){
parent::__construct('say-hi', [
'--person-name' => [
Option::OPTIONAL => true
]
]);
}
public function exec(): int {
$personName = $this->getArgValue('--person-name');
if ($personName !== null) {
$this->println("Hi %s!", $personName);
} else {
$this->println("Hi People!");
}
}
}
bash
php main.php -i
php
//File 'src/SampleCommand.php'
use webfiori\cli\CLICommand;
use webfiori\cli\Option;
class GreetingsCommand extends CLICommand {
public function __construct() {
parent::__construct('hello', [
'--person-name' => [
Option::DESCRIPTION => 'Name of someone to greet.',
Option::OPTIONAL => true
]
], 'A command to show greetings.');
}
public function exec(): int {
$name = $this->getArgValue('--person-name');
if ($name === null) {
$this->println("Hello World!");
} else {
$this->println("Hello %s!", $name);
}
return 0;
}
}
bash
//File 'src/main.php'
php main.php help
bash
//File 'src/main.php'
php main.php help --command-name=hello
php
namespace tests\cli;
use webfiori\cli\CommandTestCase;
class HelloCommandTest extends CommandTestCase {
/**
* @test
*/
public function test00() {
//Verify test results
$this->assertEquals([
"Hello World!\n"
], $this->executeSingleCommand(new HelloWorldCommand()));
$this->assertEquals(0, $this->getExitCode());
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.