SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
PHP-CLI em 7 passos



                      1
Henrique Moody
●
    Desenvolvedor web com foco em PHP desde 2007, usuário
    assíduo de Linux desde 2008 e Zend Certified Engineer
    desde 2011.
●   Atua com Desenvolvedor e Líder Técnico na Dafiti -
    empresa de comércio eletrônico brasileira.
●   Forte entusiasta da comunidade PHP no Brasil e
    contribuidor de projetos Open Source como Respect
    (https://github.com/Respect) e Composer
    (https://github.com/composer) dentre vários outros.




                                                            http://about.me/henriquemoody

                                                                                            2
PHP nasceu para web
●   A maior parte das aplicações PHP é escrita para rodar em
    ambiente web;
●   Nasceu sob o nome the Personal Home Page/Forms
    Interpreter;
●   Após o lançamento da versão 4 houve a necessidade de rodar
    PHP fora da web.




                                                                 3
Bilú quer a
  concha!




              4
CLI - Command-Line Interface
●   PHP suporta CLI desde o PHP 4.3.0.
●   O foco principal deste SAPI é para o desenvolvimento de
    aplicações Shell (concha) com PHP;
●   Funciona em qualquer OS.




                                                              5
Sete
passos!




          6
Um passo
1) Habilitar PHP-CLI




                                  7
Habilitando PHP-CLI
●   Vem habilitado por padrão na maioria das distrubições Linux;
●   Para habilitar ao compilar utilize --enable-cli (habilitado
    por padrão);
●   Windows: verifique a variável de ambiente PATH;
●   Debian-based: apt-get install php-cli;
●   RPM-based: yum install php-cli.



                                                                   8
Dois passos
1) Habilitar PHP-CLI;
2) Shebang




                                      9
Shebang
●   Um shebang refere-se aos dois caracteres "#!", quando os
    mesmos são os primeiros caracteres de um arquivo de texto,
    especificamente em um código fonte escrito em uma
    linguagem interpretada.
●   O sistema tenta executar o arquivo usando um interpretador
    especificado pelo shebang.




                                                                 10
Exemplo
●   Scripts em bash iniciam-se com o shebang
       #!/bin/bash
       echo Hello




                                               11
Exemplo
●   Scripts em PHP iniciam-se com o shebang
       #!/bin/php
       <?php
       echo "Hello";




                                              12
Path do interpretador
●   Algumas vezes o interpretador pode estar em um path
    diferente, por exemplo, o PHP pode estar em
    /usr/bin/php e não em /usr/bin/php.
●   Para resolver este problema podemos usar o comando
    /usr/bin/env que define as variáveis de ambiente.




                                                          13
script.php
#!/usr/bin/env php
<?php
echo 'Hello, ' . $_SERVER['USER'] . '!' . PHP_EOL;




                                                     14
Terminal
$ chmod +x script.php
$ ./script.php
Hello, henriquemoody!




                        15
Três passos
1) Habilitar PHP-CLI;
2) Shebang;
3) Passagem de argumentos




                                          16
$argv
●   Array com os valores dos argumentos passados.




                                                    17
script.php
#!/usr/bin/env php
<?php
print_r($argv);




                     18
Terminal
$ ./script.php Henrique Moody
Array
(
    [0] => ./script.php
    [1] => Henrique
    [2] => Moody
)




                                19
$argc
●   Número de parâmetros passados




                                    20
script.php
#!/usr/bin/env php
<?php
print_r($argc);




                     21
Terminal
$ ./script.php
3




                 22
$argc + $argv
●   Combinação poderoza que permite parsear os argumentos
    passados




                                                            23
script.php
#!/usr/bin/env php
<?php
$options = array();
for ($i=1; $i < $argc; $i=$i+2) {
    $key = $argv[$i];
    $value = $argv[$i+1];
    $options[$key] = $value;
}
print_r($options);



                                    24
Terminal
$ ./script.php --first Henrique --last Moody
Array
(
    [--first] => Henrique
    [--last] => Moody
)




                                               25
getopt()
●   Facilita o parser de argumentos




                                      26
script.php
#!/usr/bin/env php
<?php
$shortopts     = "";
$shortopts .= "f:";      // Valor obrigatório
$shortopts .= "v::"; // Valor opcional
$shortopts .= "abc"; // Opções que não aceitam valores


$longopts     = array(
     "required:",        // Valor obrigatório
     "optional::",       // Valor opcional
     "option",           // Sem valor
     "opt",              // Sem valor
);
$options = getopt($shortopts, $longopts);
print_r($options);




                                                         27
Terminal
$ ./script.php -f "value for f" -v -a --required value --optional="optional value" –opt
Array
(
    [f] => value for f
    [v] =>
    [a] =>
    [required] => value
    [optional] => optional value
    [option] =>
)




                                                                                          28
Bilú que objeto!




                   29
Pacotes PHP para CLI scripts
●   Console_Getopt (PEAR);
●   ZendConsole;
●   SymfonyComponentConsole.




                                             30
Quatro passos
1) Habilitar PHP-CLI;
2) Shebang;
3) Passagem de argumentos;
4) STDIN




                                             31
STDIN
●   Entrada padrão de dados.




                                       32
script.php
#!/usr/bin/env php
<?php
echo "Digite o seu nome: ";
$name = fgets(STDIN);
print_r($name);




                              33
Terminal
$ ./script.php
Digite o seu nome: Henrique Moody
Henrique Moody




                                    34
Cinco passos
1) Habilitar PHP-CLI;
2) Shebang;
3) Passagem de argumentos;
4) STDIN;
5) STDOUT




                                            35
STDOUT
●   Saída padrão de dados.




                                      36
script.php
#!/usr/bin/env php
<?php
fwrite(STDOUT, 'Hello, ' . $_SERVER['USER'] . '!' . PHP_EOL);




                                                                37
Terminal
$ ./script.php
Hello, henriquemoody!




                        38
Seis passos
1) Habilitar PHP-CLI;
2) Shebang;
3) Passagem de argumentos;
4) STDIN;
5) STDOUT;
6) STDERR



                                           39
STDERR
●   Saída de erro padrão.




                                     40
script.php
#!/usr/bin/env php
<?php
fwrite(STDERR, 'Hello, ' . $_SERVER['USER'] . '!' . PHP_EOL);




                                                                41
Terminal
$ ./script.php
Hello, henriquemoody!




                        42
What dá Fuck?




                43
Relaxe os tendões!




                     44
STDOUT e STDERR
●   Para um usuário aparentemente não há diferença, mas para
    um programa há.




                                                               45
Terminal
$ ./stdout.php
Hello, henriquemoody!
$ ./stderr.php
Hello, henriquemoody!




                        46
Terminal
$ ./stderr.php > /dev/null
Hello, henriquemoody!
$ ./stdout.php > /dev/null




                             47
Terminal
$ ./stdout.php 2> /dev/null
Hello, henriquemoody!
$ ./stderr.php 2> /dev/null




                              48
Sete passos
1) Habilitar PHP-CLI;
2) Shebang;
3) Passagem de argumentos;
4) STDIN;
5) STDOUT;
6) STDERR
7) Exit code

                                           49
Exit code
●   Exit code, ou return code de um processo é um número inteiro que é
    passado do processo filho para o processo pai quando o processo filho
    termina sua execução.
●   O número deve ser entre 0-255, ao forçar um número fora desse
    intervalo o comportamento é intermitente;
●   0 é considerado sucesso;
●   Qualquer número maior que 0 é considerado erro;
●   O programador pode/deve documentar os tipos de erro por número.



                                                                            50
script.php
#!/usr/bin/env php
<?php
fwrite(STDOUT, 'Quanto Ãé 1 + 1? ');
$value = (int) fgets(STDIN);
if ($value === 2) {
    fwrite(STDERR, 'Certa resposta!' . PHP_EOL);
    exit(0);
} else {
    fwrite(STDOUT, 'Resposta errada, manolo!' . PHP_EOL);
    exit(1);
}



                                                            51
Terminal
$ ./script.php
Quanto é 1 + 1? 2
Certa resposta!
$ echo $?
0




                    52
Terminal
$ ./script.php
Quanto é 1 + 1? 42
Resposta errada, manolo!
$ echo $?
1




                           53
Perguntas?




             54
Recursos
●   Exemplos da palestra:
    https://gist.github.com/fd9a8187f410c03bebb1;
●   PHP-CLI: http://php.net/cli;
●   PHP getopt(): http://php.net/getopt;
●   Console_Getopt: http://pear.php.net/Console_Getopt;
●   ZendConsole: http://goo.gl/SchES;
●   SymfonyConsole: https://github.com/symfony/Console.

                                                           55
Busquem
conhecimento




               56

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
PHP 7
PHP 7PHP 7
PHP 7
 
Shell Script - Luz e trevas
Shell Script - Luz e trevasShell Script - Luz e trevas
Shell Script - Luz e trevas
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015
 
Shell script
Shell scriptShell script
Shell script
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Shell script
Shell scriptShell script
Shell script
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 

Andere mochten auch

Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Conhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetConhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetCode Experts Learning
 
Domine Validação de Dados em 45min
Domine Validação de Dados em 45minDomine Validação de Dados em 45min
Domine Validação de Dados em 45minAlexandre Gaigalas
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHPGuilherme Blanco
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQLUlf Wendel
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101Raj Rajandran
 
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011KennisKring Amsterdam
 
презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2AlexanderKarchenko
 
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 Target
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 TargetLifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 Target
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 TargetProActive Capital Resources Group
 
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...KennisKring Amsterdam
 
Folleto AHEMON Tenerife
Folleto AHEMON TenerifeFolleto AHEMON Tenerife
Folleto AHEMON TenerifeAlina Baudet
 
Tours and travels by Rahul Shukla
Tours and travels by Rahul Shukla Tours and travels by Rahul Shukla
Tours and travels by Rahul Shukla abhayraichand
 
Grandma\'s Sweethearts
Grandma\'s SweetheartsGrandma\'s Sweethearts
Grandma\'s SweetheartsMayumi Cruz
 
Aliakbarhassanpour securityproject
Aliakbarhassanpour securityprojectAliakbarhassanpour securityproject
Aliakbarhassanpour securityprojectit88tabriz
 

Andere mochten auch (20)

Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Conhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetConhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronet
 
Domine Validação de Dados em 45min
Domine Validação de Dados em 45minDomine Validação de Dados em 45min
Domine Validação de Dados em 45min
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQL
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101
 
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011
Innovatie in de Sierteelt & het Businessmodel, door Michel Haring, 16 nov 2011
 
презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2
 
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 Target
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 TargetLifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 Target
LifeTech Capital Updates NeoStem (NBS) Strong Buy $4.00 Target
 
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...
Metro Campus:Geleyn Meijer, Economic Development Board Catch Up Sessie 24 jun...
 
Propietat intelectual a l'era digital
Propietat intelectual a l'era digitalPropietat intelectual a l'era digital
Propietat intelectual a l'era digital
 
Folleto AHEMON Tenerife
Folleto AHEMON TenerifeFolleto AHEMON Tenerife
Folleto AHEMON Tenerife
 
BioNeutral Group (OTCBB: BONU; Twitter $BONU)
BioNeutral Group (OTCBB: BONU; Twitter $BONU)BioNeutral Group (OTCBB: BONU; Twitter $BONU)
BioNeutral Group (OTCBB: BONU; Twitter $BONU)
 
Session 11 renewable energy
Session 11   renewable energySession 11   renewable energy
Session 11 renewable energy
 
Tours and travels by Rahul Shukla
Tours and travels by Rahul Shukla Tours and travels by Rahul Shukla
Tours and travels by Rahul Shukla
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Grandma\'s Sweethearts
Grandma\'s SweetheartsGrandma\'s Sweethearts
Grandma\'s Sweethearts
 
Aliakbarhassanpour securityproject
Aliakbarhassanpour securityprojectAliakbarhassanpour securityproject
Aliakbarhassanpour securityproject
 

Ähnlich wie PHP-CLI em 7 passos para iniciantes

15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrerMichele Silva
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPesteVitor Mattos
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!tdc-globalcode
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7Silvano Oliveira
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaJonata Weber
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGiMasters
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017Vitor Mattos
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIinfo_cimol
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 

Ähnlich wie PHP-CLI em 7 passos para iniciantes (20)

15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPeste
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
TDC 2016 - PHP7
TDC 2016 - PHP7TDC 2016 - PHP7
TDC 2016 - PHP7
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a Aula
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Php m18
Php m18Php m18
Php m18
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Guia php
Guia phpGuia php
Guia php
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Zephir
ZephirZephir
Zephir
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 

PHP-CLI em 7 passos para iniciantes