Comandos do console

Aprenda a criar seus próprios comandos de console personalizados.

Criar comandos

Para criar seu próprio comando, você pode usar closures, callables ou criar uma classe no Commands namespace e adicioná-la ao system/console.php, por exemplo:

use Inphinit\Experimental\Cli\Command; $console->action('hello', function (Command $command, array $params, array $residual) { echo 'Hello world!'; });

Em seguida, no terminal, na pasta raiz do aplicativo, você pode executar o comando:

./run hello

Se você estiver usando o Windows, ou se o run arquivo estiver definido como executável, o ./ prefixo não será necessário; basta usar o comando desta forma:

run hello

Comandos com controladores

Os comandos dão suporte aos controladores de forma semelhante às rotas, com a diferença de que as classes responsáveis pelos comandos devem ser adicionadas na pasta system/Commands/. Exemplo de uso:

system/Commands/Foo/Bar/SampleCommand.php

<?php namespace Commands\Foo\Bar; use Inphinit\Viewing\View; use Inphinit\Experimental\Cli\Command; class TestCommand { public function test(Command $command, array $params, array $residual) { $name = $command->getName(); $input = $params['text']; echo "Input: '{$input}' from '{$name}' command."; } }

system/console.php

<?php use Inphinit\Experimental\Cli\Command; $console->action('test', 'TestCommand::test') ->setOption('text', 't', Command::ARG_REQUIRED, null, 'Define a text');

Em seguida, no terminal:

./run test -t "ping!"

Opções

Os comandos também aceitam opções no formato --long e opcionalmente -short, por exemplo:

use Inphinit\Experimental\Cli\Command; $console->action('hello', function (Command $command, array $params, array $residual) { var_dump($params); })->setOption('name', 'n');

Você pode executar o comando:

./run hello --name "Ada"

Ou, abreviadamente:

./run hello -n "Ada"

As opções aceitam argumentos opcionais (padrão):

use Inphinit\Experimental\Cli\Command; $command = $console->action(...); $command->setOption('name', 'n', Command::ARG_OPTIONAL);

As opções aceitam argumentos obrigatórios:

use Inphinit\Experimental\Cli\Command; $command = $console->action(...); $command->setOption('name', 'n', Command::ARG_REQUIRED);

As opções suportadas podem ser usadas sem um valor definido desta forma:

use Inphinit\Experimental\Cli\Command; $command = $console->action(...); $command->setOption('reindex', null, Command::ARG_NO_VALUE);

O que lhe permite realizar:

./run hello --reindex

Se você tentar inserir um valor, receberá uma mensagem de erro:

./run hello --reindex "foobar"

Comandos padrão

Comando Descrição
run app:down Ativar o modo de manutenção
run app:up Desativar o modo de manutenção
run env:boot Otimiza as .env variáveis de ambiente do arquivo, adicionando-as ao cache de inicialização.
run env:source Desative o cache de variáveis .env, fazendo com que todas as requisições exijam que o aplicativo analise o arquivo.
run pkg:up Atualiza as classes psr-4 para usar o inphinit-autoload. Geralmente, não é necessário executar este comando manualmente em projetos instalados via Composer, pois ele costuma ser executado automaticamente.
run serve Inicia o servidor web integrado.
Página inicial
Apoie com uma estrela no GitHub