Shell like a Python

Daniel Rodrigues
php-brasil
Published in
3 min readSep 26, 2019

Muitos desconhecem o fato do PHP possuir um modo interativo desde a versão 5.1.0. Vamos aprender rapidamente como usá-la, além de entender como esse modo pode facilitar nossa vida.

O que é o modo interativo do PHP e qual a sua utilidade.

É uma forma de escrever código PHP e rodar diretamente no shell, sem a necessidade de salvar um arquivo, assim como existe no Python.

Esse modo é bastante útil quando precisamos resolver problemas direto no servidor ou obter informações importantes sem a necessidade de criar um arquivo.php só para ver o resultado.

Pré requisito.

Ter o módulo readline compilado e ativo na sua versão do PHP é necessário para executar o shell interativo. Se você usa linux provavelmente já está ativo, para descobrir basta executar o comando php -m.

Como começar.

Basta executar em um shell o comando php -a, pronto agora você está rodando o PHP em modo interativo

Executando código no shell PHP.

É muito simples, no exemplo abaixo eu criei uma função que recebe dois números inteiros, soma os dois números e retorna o resultado. Essa função ficará disponível apenas enquanto nosso shell estiver “rodando”, inclusive o auto completar estará disponível para a função enquanto a sessão estiver ativa.

Auto completar com tab.

Pressionar a tecla tab duas vezes irá ativar o auto completar.

Alguns comando úteis.

  • print_r(get_loaded_extensions());

Esse comando é muito útil caso você necessite saber os nomes de todos os módulos PHP compilados e carregados no seu servidor.

  • print_r(memory_get_usage());

Retorna a quantidade de memória alocada para o PHP.

  • print_r(php_uname());

Retorna informação sobre o sistema operacional que o PHP está instalado.

  • print_r(phpversion());

Mostra a versão atual do PHP instalada no servidor.

  • print_r(ini_get(‘post_max_size’))

Com esse comando é possível obter informações contidas no arquivo de configuração do php.ini, bastando passar como parâmetro o nome da configuração.

Finalizando

Para fechar a sessão ativa do shell basta digitar exit, lembre-se que todas as funções que foram criadas serão perdidas.

Espero que esse pequeno artigo incentive você a conhecer um pouco mais dessa linguagem que tem tantas coisas ainda pouco exploradas.

Referências:

https://www.php.net/manual/pt_BR/book.info.php

https://www.php.net/manual/pt_BR/features.commandline.interactive.php

--

--