SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Construindo aplicações CLI com
Symfony Console
Bruno Ricardo Siqueira
Bruno Ricardo Siqueira
Desenvolvedor web e
evangelista PHP no Brasil.
Entusiasta Docker.
Apaixonado por Git.
Trabalhando com internet há
8 anos, Bacharel em Sistemas
da Informação formado pelo
ICMC - USP, trabalhando
atualmente na empresa CI&T,
desempenhando o papel de
Engenheiro de Software.
CLI
sh
Thompson shell
(Ken Thompson)
sh
Bourne Shell
(Stephen Bourne)
bash
Bourne Again Shell
(Brian Fox)
Zsh
(Paul Falstad)
● ash - Almquist shell (Kenneth Almquist)
● dash - Debian Almquist shell
● ksh - Korn shell (David Korn)
● csh, es, scsh, wish...
SHELL SCRIPTING
● Automação de tarefas;
● Prototipagem rápida;
● Wrappers;
● ...
SHELL SCRIPTING
● Diferentes
interpretadores;
● Windows;
● Reutilização em outras
linguagens;
● ...
APLICAÇÕES CLI
APLICAÇÕES CLI
...
SYMFONY CONSOLE
● PHP FTW!!!!1111um;
● Componente do Symfony Framework;
● Pode, assim como outros componentes do Symfony
Framework, ser utilizado em separado;
● É uma espécie de Framework para aplicações CLI;
● ...
SYMFONY CONSOLE
SYMFONY CONSOLE - INSTALAÇÃO
SYMFONY CONSOLE - INSTALAÇÃO
Como que
usa
isso ae
tio?
initialize() (opcional)
Executado antes do interact() e do execute(). Utilizado
principalmente para inicializar variáveis
interact() (opcional)
Executado depois initialize() e antes do execute(). Utilizado
para checar se opções/argumentos estão faltando e solicitar ao
usuário os seus valores.
execute() (requerido)
Executado depois do interact() e initialize(). Contém a lógica
que se quer executar com o comando.
SYMFONY CONSOLE - CICLO DE VIDA
SYMFONY CONSOLE - ESTILOS
OutputInterface::VERBOSITY_QUIET -q or --quiet
OutputInterface::VERBOSITY_NORMAL
OutputInterface::VERBOSITY_VERBOSE -v
OutputInterface::VERBOSITY_VERY_VERBOSE -vv
OutputInterface::VERBOSITY_DEBUG -vvv
SYMFONY CONSOLE - VERBOSIDADE
SYMFONY CONSOLE - VERBOSIDADE
SYMFONY CONSOLE - ARGUMENTOS
SYMFONY CONSOLE - ARGUMENTOS
SYMFONY CONSOLE - ARGUMENTOS
InputArgument::REQUIRED
InputArgument::OPTIONAL
InputArgument::IS_ARRAY
SYMFONY CONSOLE - ARGUMENTOS
SYMFONY CONSOLE - OPÇÕES
SYMFONY CONSOLE - OPÇÕES
InputOption::VALUE_IS_ARRAY --dir=/foo --dir=/bar
InputOption::VALUE_NONE --yell
InputOption::VALUE_REQUIRED --iterations=5
InputOption::VALUE_OPTIONAL --yell or --yell=loud
SYMFONY CONSOLE - QUESTION HELPER
SYMFONY CONSOLE - FORMATTER HELPER
SYMFONY CONSOLE - PROGRESS BAR HELPER
SYMFONY CONSOLE - PROGRESS BAR HELPER
SYMFONY CONSOLE - TABLE HELPER
SYMFONY CONSOLE - REUTILIZANDO COMANDOS
QUEM ESTÁ
UTILIZANDO?
QUEM ESTÁ UTILIZANDO - DRUPAL CONSOLE
QUEM ESTÁ UTILIZANDO - COMPOSER
QUEM ESTÁ UTILIZANDO - ESTATÍSTICAS PACKAGIST
QUEM ESTÁ UTILIZANDO - ESTATÍSTICAS PACKAGIST
PERGUNTAS?
http://symfony.com/doc/current/components/console/index.html
http://symfony.com/doc/current/components/console/single_command_tool.html
http://symfony.com/doc/current/components/console/changing_default_command.html
http://symfony.com/doc/current/components/console/events.html
http://symfony.com/doc/current/components/console/console_arguments.html
https://www.talater.com/symfony_console_component/
http://www.sitepoint.com/command-line-php-using-symfony-console/
http://gnugat.github.io/2014/04/09/sf2-console-component-by-example.html
REFERÊNCIAS
THANKS
FOR
BEING
HERE!
BRUNO RICARDO SIQUEIRA
@brunoric
Construindo aplicações CLI com
Symfony Console

Contenu connexe

Tendances

Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaRenato Sousa
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoEderson Marques
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccsLuciano Zica
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell ScriptHugo Maia Vieira
 

Tendances (9)

Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-java
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetição
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccs
 
C pic
C picC pic
C pic
 
Migrando para PHP7 - Novidades
Migrando para PHP7 - NovidadesMigrando para PHP7 - Novidades
Migrando para PHP7 - Novidades
 
Interfaces e polimorfismo
Interfaces e polimorfismoInterfaces e polimorfismo
Interfaces e polimorfismo
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Vim
VimVim
Vim
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 

Similaire à Construindo Aplicações CLI com Symfony Console

Workshop Python para Android
Workshop Python para AndroidWorkshop Python para Android
Workshop Python para AndroidRafael Sanches
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaMarcelo Fleury
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011Leonardo Balter
 
Vim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexívelVim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexívelGilson Filho
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grandeLuã de Souza
 
Cisco ios, via cli – command line interface
Cisco ios, via cli – command line interfaceCisco ios, via cli – command line interface
Cisco ios, via cli – command line interfaceMarcos Aurelio
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
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 LinuxMarcelo Sabadini
 
Escreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoEscreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoWilson Júnior
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015Flávia Santos
 

Similaire à Construindo Aplicações CLI com Symfony Console (20)

Workshop Python para Android
Workshop Python para AndroidWorkshop Python para Android
Workshop Python para Android
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A Pena
 
Programação Segura
Programação SeguraProgramação Segura
Programação Segura
 
PHP e seus demônios
PHP e seus demôniosPHP e seus demônios
PHP e seus demônios
 
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011
 
Vim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexívelVim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexível
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grande
 
Cisco ios, via cli – command line interface
Cisco ios, via cli – command line interfaceCisco ios, via cli – command line interface
Cisco ios, via cli – command line interface
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Symfony2 Básico
Symfony2 BásicoSymfony2 Básico
Symfony2 Básico
 
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
 
Java script
Java scriptJava script
Java script
 
Escreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoEscreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornado
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015
 

Plus de Bruno Ricardo Siqueira

Managing e commerce systems codebase with git
Managing e commerce systems codebase with gitManaging e commerce systems codebase with git
Managing e commerce systems codebase with gitBruno Ricardo Siqueira
 
TDC SP 2015 - PHP7: melhor e mais rápido
TDC SP 2015 - PHP7: melhor e mais rápidoTDC SP 2015 - PHP7: melhor e mais rápido
TDC SP 2015 - PHP7: melhor e mais rápidoBruno Ricardo Siqueira
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitBruno Ricardo Siqueira
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 

Plus de Bruno Ricardo Siqueira (6)

Managing e commerce systems codebase with git
Managing e commerce systems codebase with gitManaging e commerce systems codebase with git
Managing e commerce systems codebase with git
 
TDC SP 2015 - PHP7: better & faster
TDC SP 2015 - PHP7: better & fasterTDC SP 2015 - PHP7: better & faster
TDC SP 2015 - PHP7: better & faster
 
TDC SP 2015 - PHP7: melhor e mais rápido
TDC SP 2015 - PHP7: melhor e mais rápidoTDC SP 2015 - PHP7: melhor e mais rápido
TDC SP 2015 - PHP7: melhor e mais rápido
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
Impulsionando sua presença Online
Impulsionando sua presença OnlineImpulsionando sua presença Online
Impulsionando sua presença Online
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 

Construindo Aplicações CLI com Symfony Console