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