1. Go to this page and download the library: Download phpbook/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/ */
phpbook / console example snippets
/********************************************
*
* Declare Configurations
*
* ******************************************/
//you php bin path
//Default "php"
\PHPBook\Console\Configuration\Request::setPHPPath('php/bin/path');
//the php script console file, read below the link [Start Application Console]
//Default null
\PHPBook\Console\Configuration\Request::setConsoleScriptPath(__DIR__ . DIRECTORY_SEPARATOR . 'console.php');
//Controllers path, the phpbook will load all controllers by folders recursively inside
//Default null. But its ontrollers');
/***************************************************
*
* Declare Console Controller
*
* *************************************************/
class ConsoleController {
/**
* @PHPBookConsoleRequestResource{
* "setName": "'greetings'"
* "setNotes": "'Any important note'"
* "setArguments": "['name', 'age']"
* }
*/
public function runConsole($name, $age) {
//your console here
//when a parameter is not defined in prompt the value will be null.
$name; $age;
//set the time to the script finish, zero to unlimited time
//if you set again, the current timer reset the counter to zero, and starts counting again
\PHPBook\Console\Script::setSecondsScriptLimits(0);
//you can check the O.S.
switch(\PHPBook\Console\Script::getOS()) {
case \PHPBook\Console\Script::$OS_WINDOWS:
break;
case \PHPBook\Console\Script::$OS_UNIX;
break;
};
//you can write script line with auto break line
\PHPBook\Console\Script::echoLine('Hello Jhon');
//you can write a break line, but echoLine auto breaks the line also
\PHPBook\Console\Script::echoBreakLine();
//you can write a table
\PHPBook\Console\Script::echoTable(
'My Table Label',
['name' => 'Name', 'age' => 'Age'],
[
['name' => 'Jhon', 'age' => 20],
['name' => 'Ana', 'age' => 21]
]
);
//you can kill the script process
\PHPBook\Console\Script::kill();
//you can call another asynchronous console
$run = \PHPBook\Console\Console::run('resource-name', ['parameter-one', 'parameter-two']);
if ($run) {
//start success
} else {
//start error
};
}
}
/***************************************************
*
* Console Run Resource
*
* *************************************************/
//run a asynchronous console on php
$run = \PHPBook\Console\Console::run('resource-name', ['parameter-one', 'parameter-two']);
if ($run) {
//start success
} else {
//start error
};
/***************************************************
*
* Generate Request Proxies
*
* *************************************************/
/* The Directory will be cleared recursively before generate, so you should have a unique folder to this proxies.*/
/* You must generate or re-generate de proxy file when create or change controllers notations */
/* You cannot start console without proxies */
\PHPBook\Console\Proxy::generate();
/***************************************************
*
* Start Request Proxies
*
* *************************************************/
/* You must start proxies before start the console */
\PHPBook\Console\Proxy::start();