SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing Hydra
Joshua Shinavier
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
Karwin Software Solutions LLC
 
How to Use JSON in MySQL Wrong
How to Use JSON in MySQL WrongHow to Use JSON in MySQL Wrong
How to Use JSON in MySQL Wrong
Karwin Software Solutions LLC
 
PHP complete reference with database concepts for beginners
PHP complete reference with database concepts for beginnersPHP complete reference with database concepts for beginners
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
How to Design Indexes, Really
How to Design Indexes, ReallyHow to Design Indexes, Really
How to Design Indexes, Really
Karwin Software Solutions LLC
 
Introduction To PHP
Introduction To PHPIntroduction To PHP
Introduction To PHP
Shweta A
 
Clean code
Clean codeClean code
Clean code
Arturo Herrero
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
Thiago Poiani
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
Spandana Govindgari
 
Writing clean code
Writing clean codeWriting clean code
Writing clean code
Angel Garcia Olloqui
 
Optimizing MySQL Queries
Optimizing MySQL QueriesOptimizing MySQL Queries
Optimizing MySQL Queries
Achievers Tech
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimization
mysqlops
 
Basics of MongoDB
Basics of MongoDB Basics of MongoDB
Basics of MongoDB
Habilelabs
 
Postgresql tutorial
Postgresql tutorialPostgresql tutorial
Postgresql tutorial
Ashoka Vanjare
 
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Edureka!
 
The Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQLThe Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQL
EDB
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Andrejs Prokopjevs
 
How to be a Postgres DBA in a Pinch
How to be a Postgres DBA in a Pinch How to be a Postgres DBA in a Pinch
How to be a Postgres DBA in a Pinch
ElizabethGarrettChri
 
Advanced MySQL Query Tuning
Advanced MySQL Query TuningAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning
Alexander Rubin
 
Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practices
mh_azad
 

Mais procurados (20)

Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing Hydra
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
 
How to Use JSON in MySQL Wrong
How to Use JSON in MySQL WrongHow to Use JSON in MySQL Wrong
How to Use JSON in MySQL Wrong
 
PHP complete reference with database concepts for beginners
PHP complete reference with database concepts for beginnersPHP complete reference with database concepts for beginners
PHP complete reference with database concepts for beginners
 
How to Design Indexes, Really
How to Design Indexes, ReallyHow to Design Indexes, Really
How to Design Indexes, Really
 
Introduction To PHP
Introduction To PHPIntroduction To PHP
Introduction To PHP
 
Clean code
Clean codeClean code
Clean code
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
 
Writing clean code
Writing clean codeWriting clean code
Writing clean code
 
Optimizing MySQL Queries
Optimizing MySQL QueriesOptimizing MySQL Queries
Optimizing MySQL Queries
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimization
 
Basics of MongoDB
Basics of MongoDB Basics of MongoDB
Basics of MongoDB
 
Postgresql tutorial
Postgresql tutorialPostgresql tutorial
Postgresql tutorial
 
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
 
The Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQLThe Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQL
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
How to be a Postgres DBA in a Pinch
How to be a Postgres DBA in a Pinch How to be a Postgres DBA in a Pinch
How to be a Postgres DBA in a Pinch
 
Advanced MySQL Query Tuning
Advanced MySQL Query TuningAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning
 
Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practices
 

Destaque

O esquecido do PHP
O esquecido do PHPO esquecido do PHP
O esquecido do PHP
Henrique Moody
 
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
javamanrj
 
Conhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronetConhecendo o-composer-por-nandokstronet
Conhecendo o-composer-por-nandokstronet
Code 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 45min
Alexandre Gaigalas
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
Guilherme Blanco
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQL
Ulf 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 Calisthenics
Guilherme Blanco
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
Guilherme Blanco
 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101
Raj 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 2011
KennisKring Amsterdam
 
презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2презентация пресс центр победа Cер.лучник2
презентация пресс центр победа Cер.лучник2
AlexanderKarchenko
 
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
ProActive 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
 
Propietat intelectual a l'era digital
Propietat intelectual a l'era digitalPropietat intelectual a l'era digital
Propietat intelectual a l'era digital
Santiago Benejam Torres
 
Folleto AHEMON Tenerife
Folleto AHEMON TenerifeFolleto AHEMON Tenerife
Folleto AHEMON Tenerife
Alina Baudet
 
BioNeutral Group (OTCBB: BONU; Twitter $BONU)
BioNeutral Group (OTCBB: BONU; Twitter $BONU)BioNeutral Group (OTCBB: BONU; Twitter $BONU)
BioNeutral Group (OTCBB: BONU; Twitter $BONU)
ProActive Capital Resources Group
 
Session 11 renewable energy
Session 11   renewable energySession 11   renewable energy
Session 11 renewable energy
Albania Energy Association
 
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
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
Avreporter KONsys
 
Grandma\'s Sweethearts
Grandma\'s SweetheartsGrandma\'s Sweethearts
Grandma\'s Sweethearts
Mayumi Cruz
 

Destaque (20)

O esquecido do PHP
O esquecido do PHPO esquecido do PHP
O esquecido do PHP
 
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
 

Semelhante a PHP-CLI em 7 passos

PHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHPPHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHP
iMasters
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
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
Michele Silva
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPeste
Vitor 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 PHPv7
Silvano Oliveira
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
diogoa21
 
TDC 2016 - PHP7
TDC 2016 - PHP7TDC 2016 - PHP7
TDC 2016 - PHP7
Marcelo Aymone
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
MrcioSantos806520
 
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
Jonata Weber
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
iMasters
 
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
Vitor 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 2
PrinceGuru 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 II
info_cimol
 
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
Marcelo Sabadini
 
Php m18
Php m18Php m18
Php m18
tomascarol2
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
Freedom DayMS
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
Felipe Ribeiro
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
Fernando Geraldo Mantoan
 

Semelhante a PHP-CLI em 7 passos (20)

PHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHPPHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHP
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
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
 
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
 
Php m18
Php m18Php m18
Php m18
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 

PHP-CLI em 7 passos