Hello CLI
Automatize tarefas e aumente a sua produtividade com o uso da CLI
O Hello CLI é um software de linha de comando integrado ao Hello, com foco em aumentar a produtividade. O Hello oferece uma API simples e bem estruturada para expandir seus comandos. Com ele, é possível escrever qualquer tipo de tarefa que possa ser executada em sua linha de comando. Para executar o Hello, é necessário utilizar o compilador do PHP, declarando “php hello” antes de qualquer instrução no diretório raiz do seu aplicativo Hello.
A sintaxe de um comando de CLI do hello é:
php hello <função> ou php hello <função: parâmetro>
php hello serve
Qualquer instrução após a função é considerada flag ou parâmetro.
As flags podem ser declaradas de duas formas:
php hello make:controller UserController
php hello make:controller UserController namespace=User/Controllers
Uma função só poderá aceitar um parâmetro, porém não existem limites para as flags. Para informar o parâmetro da função basta informar os “:” seguido da escrita do parâmetro após o nome da função.
Criando instruções personalizadas com Hello.
Para criar um conjunto de instruções personalizadas com Hello é necessário criar uma classe de CLI conforme o exemplo abaixo:
<?php
namespace Modules\MyCLI;
use Kernel\Support\CLI;
class PersonCLI extends CLI
{
public function main()
{
printf('Comando de teste.');
}
}
É fortemente recomendado que você crie uma pasta no diretório de módulos para as suas personalizações, uma vez que comandos personalizados são tratados com extensões do seu aplicativo.
Após realizar a criação de sua classe de CLI do Hello, você precisará registra o nome de sua função na aplicação. Para isso vá até o arquivo: “config/commands.php”. Em seguida registre o nome da sua função no array associativo. Ou declare o seguinte código com dois parâmetros, onde o primeiro parâmetro é o nome da função que será executada no CLI e o segundo parâmetro é a classe de CLI que você criou.
<?php
use Kernel\Support\Hello;
Hello::command('mycommand',Modules\MyCLI\PersonCLI::class);
Agora você poderá ir até o terminal e escrever a seguinte instrução: php hello mycommand
php hello mycommand
-----------------------------------------------------------------------
Output
Comando de teste.
Usando a API CLI para escrever comandos avançados.
Quando a classe “PersonCLI” extende a classe CLI ela irá herda todos os métodos públicos e protegidos. Os métodos herdados são para manipulação das instruções fornecidas via CLI. Lembrando que o que será executado na CLI é o método “main” que é o ponto de partida.
string $this→line(bool $header = true)
Esse método retorna todo a linha de instrução no formato, exceto a declaração “php”. Caso você só deseja que seja retornado o corpo sem incluir o header da instrução que é o nome da função. Somente as flags serão retorna, basta passar false no parâmetro header.
mixed $this→key(string $key)
Esse método irá retorna o valor da flag ou a sua chave/nome
mixed $this→position(int $index)
Esse método retornará a flag pela sua posição. A posição inicial é 1.
string $this→first()
Esse método retorna o nome da função ou o valor do seu parâmetro caso seja informado o parâmetro.
string $this→dir(string $path = null)
Esse método retorna o caminho do diretório raiz, é possível informar uma pasta para acesso, e assim ele irá retorna o seu caminho completo.
Last updated