De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


PHP em linha de comando - passando parâmetros

Colaboração: David F A B Fante

Data de Publicação: 23 de junho de 2008

Eu estou desenvolvendo uma solução de gerenciamento de contas de hospedagens e revendas, boa parte já está pronta, mas tenho muito a fazer ainda. Uma das necessidades que tive logo de cara, é criar um script PHP que fosse executado em linha de comando, pois ele seria responsável por registrar mensalmente um novo débito e enviar e-mails de cobrança. Então eu configurei para rodar via CRON. Devido a uma medida de segurança eu queria que ele só rodasse se fosse validada uma variável. Este foi o meu problema.

Após ler e reler o manual on-line do PHP eu encontrei uma informação bem útil. Existe uma forma de informar e resgatar parâmetros em linha de comando. É retornado em forma de string. Essa é a parte chata mas vamos lá. Mãos a obra!

Como passar os parâmetros

  # php teste nome=SHZ idade=7

Veja que diferentemente do modo tradicional, os parâmetros não começam com <b>?</b> no começo e < b>&</b> entre os parâmetros. Usamos apenas espaço.

Como recuperar os valores dos parâmetros

  <?php
  for ($i=1; $i < $argc; $i++) {parse_str($argv[$i]);}
  echo "Olá ".$nome.", você tem ".$idade." anos de existência!";
  ?>

O valor $argc é a variável que retorna a quantidade de argumentos enviados pela linha de comando. É interessante dizer que o nome do arquivo também conta como um argumento. $argv é a array que contem os valores, agora precisamos criar uma variável com cada valor, pois em uma linha assim:

  # php teste.php nome=SHZ

A variável $argv[1] terá o valor de nome=SHZ. Ao usar a função parse_str poderemos acessar o valor com o nome do argumento, ou seja: $nome terá o valor de SHZ, e foi o que fizemos, com nome e idade.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de David F A B Fante