Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, as vezes tenho que fazer alguns scripts em php que rodam no terminal/texto, gostaria de saber se existe uma forma de fazer com que o usuário possa interagir com um menu, digitando a opção desejada ?
Algo parecido com isso:
>
##OPÇÔES
1) Buscar
2) Inserir Novo
3) Sair
Digite a opção:
Eu fazia isso em C, usando do while, mas não sei como fazer o sistema ficar esperando uma entrada de valor e pegar o valor digitado.
Espero que eu tenha conseguido ser claro!
Vlw!
>
Você pode usar as função de I/O normalmente, apenas definindo o arquivo como
"php://stdin". Veja mais aqui: http://php.net/manual/pt_BR/features.commandline.io-streams.php
Cara, olhando o link que vc me passou, cheguei a isso!
<?php
print "\n##OPÇÔES\n\n
1) Buscar
2) Inserir Novo
3) Sair
Digite a opção: ";
fscanf(STDIN, "%d", $number);
switch ($number) {
case 1:
print "\nOpção $number";
break;
case 2:
print "\nOpção $number";
break;
case 3:
print "\nOpção $number";
break;
default:
echo "Opção $number não existe";
}
?>
Funciona, mas não entendi o que é o STDIN e qual a funcionalidade do "php://stdin" e como usar ele, consegue me explicar rsrsrs ??!
Vlw!
stdin = standard input
stdout = standard output
é semelhante ao usado em C. Em C, basta usar "stdin". No PHP, tem que usar "php://stdin"
Que tal um modulo de framework?
http://symfony.com/doc/current/components/console/introduction.html
Você pode usar as função de I/O normalmente, apenas definindo o arquivo como
"php://stdin". Veja mais aqui: http://php.net/manual/pt_BR/features.commandline.io-streams.php