isublimity / shell
Shell Helper
1.24
2024-08-08 21:02 UTC
Requires
- php: >=5.5.0
- ext-curl: *
Requires (Dev)
- ext-curl: *
- phpunit/phpunit: 5.5.*
This package is auto-updated.
Last update: 2024-12-08 21:39:53 UTC
README
See other
https://github.com/nramenta/clio/blob/master/README.md
https://github.com/c9s/CLIFramework/blob/master/README.md
https://github.com/wp-cli/php-cli-tools
https://raw.githubusercontent.com/dealnews/Console/master/src/Console.php
https://github.com/nramenta/clio
https://github.com/thephpleague/climate
Install
composer require isublimity/shell
Use case
Есть класс который нам нужно вызвать из консоли
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"; } }
Подключаем обертку:
\Shell::name("xyz"); \Shell::run( new xyzActions() );
Получаем help:
> php test.php help xyz ------------------------------ > list -- Получить список бла-бла --name string,Назврание [--reg] bool,включить или выключить
Запускаем :
> 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
Цвета :
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')); // какие комманды можно запускать одновренменно