CodeIgniter na linha de comando

CodeIgniter na linha de comando

A cada dia que passa o uso do PHP na linha de comando (PHP CLI) tem aumentado, e sido muito útil para testes, execuções de scripts entre outras tarefas.

O CodeIgniter pode ser utilizado na linha de comando também, sem a necessidade de nenhum tipo de configuração especial.

Vejamos na prática como funciona!

Inicie um novo projeto com CodeIgniter, e então crie um controlador chamado Base, em application/controllers. Nesse controlador crie um método mensagem, que recebe uma string como parâmetro, e imprime a string na tela.

Veja abaixo como deve ficar o código:

class Tools extends CI_Controller {
  public function mensagem($texto = 'Informe uma mensagem')
  {
    echo "{$texto}".PHP_EOL;
  }
}

Feito isso, em condições normais você iria acessar o seu ambiente de desenvolvimento no browser, com uma url semelhante a http://localhost/index.php/base/mensagem/texto-da-mensagem.

Mas não vamos acessar pelo browser e sim pelo terminal, via linha de comando. Então você deverá abrir o terminar (Mac ou Linux) ou executar Run > cmd (Windows) e navegar até o diretório onde está a aplicação.

cd /diretorio/da/aplicacao

estão dentro do diretório da aplicação no terminal, execute a linha abaixo:

php index.php base mensagem

Essa é a linha onde você está executando um script php diretamente no terminal, sem a necessidade do browser. O seu conteúdo é intuitivo, veja só:

php – indica que é pra executar um script PHP

index.php – o arquivo do script a ser executado

base – o controlador a ser chamado

mensagem – o método a ser executado

Como resultado você deverá ver o texto “Informe uma mensagem” escrito no terminal.

Para enviar pelo terminal o parâmetro do método, basta colocar logo após mensagem.

php index.php base mensagem "Mensagem a ser exbidida no terminal"

Viu como é fácil utilizar o PHP na linha de comando com o CodeIgniter? Agora você já pode testar e executar scripts diretamente na linha de comando sem a necessidade de abrir o browser.

Até a próxima!