Php cli helper
See other, (*1)
https://github.com/nramenta/clio/blob/master/README.md, (*2)
https://github.com/c9s/CLIFramework/blob/master/README.md, (*3)
https://github.com/wp-cli/php-cli-tools, (*4)
https://raw.githubusercontent.com/dealnews/Console/master/src/Console.php, (*5)
https://github.com/nramenta/clio, (*6)
https://github.com/thephpleague/climate, (*7)
Install
composer require isublimity/shell
Use case
ΠΡΡΡ ΠΊΠ»Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, (*8)
class xyzActions
{
/**
* ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±Π»Π°-Π±Π»Π°
*
* @param string $name ΠΠ°Π·Π²ΡΠ°Π½ΠΈΠ΅
* @param bool $reg Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠΈΡΡ
* @return array
*/
public function listCommand($name,$reg=false)
{
echo "My name $name ";
if ($reg) echo " ;) ";
echo "\n";
}
}
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±Π΅ΡΡΠΊΡ:, (*9)
\Shell::name("xyz");
\Shell::run(
new xyzActions()
);
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ help:, (*10)
> php test.php help
xyz
------------------------------
> list -- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±Π»Π°-Π±Π»Π°
--name string,ΠΠ°Π·Π²ΡΠ°Π½ΠΈΠ΅
[--reg] bool,Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠΈΡΡ
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ :, (*11)
> php test.php list
Exception : Can`t call: xyzActions->listCommand() with empty param : name
> php test.php list --name=bob
My name bob
> php test.php list --name=bob --reg
My name bob ;)
> php test.php --list --name=bob
My name bob
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
-v [-vv | -vvv]
--wait
--help
-q
Π¦Π²Π΅ΡΠ° :, (*12)
Shell::msg("ABC <light_blue> FGHJ </light_blue> Command();");
Shell::msg("message");
Shell::debug("DEBUG!");
Shell::info("INFO!");
Shell::warning("WARN!");
Shell::error("ERORR!!");
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ help
class xyzActions
{
public function getTitle()
{
return 'ABOUTE xyzActions - <red>XYZ</red>';
}
}
Setters
class xyzActions
{
public function setColor($value)
{
echo "CALL setColor($value)\n";
}
}
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΡΡΡ Π΅ΡΠ»ΠΈ : > php test.php --color=YXA
PID
// ΠΠ»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
Shell::maxExecutionMinutes(0.5);//30 seconds
Shell::dir(__DIR__); // ΡΠΌΠ΅Π½ΠΈΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
Shell::alertMail('igor@x.x'); // ΠΊΡΠ΄Π° ΠΎΡΠΏΡΠ°ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
Shell::setPathLog("/tmp/"); // ΠΊΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
Shell::setPathPid("/tmp/"); // Π³Π΄Π΅ PID
Shell::setExitCodeOnPidExists(2); // Exit code on PID file Exists
Shell::setPidCommands(array('check','test')); // ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅Π½ΠΌΠ΅Π½Π½ΠΎ
, (*13)