Shell like a Python
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