Top Banner
Construindo aplicações CLI com Symfony Console Bruno Ricardo Siqueira
46

Construindo aplicações CLI com Symfony Console

Feb 16, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Construindo aplicações CLI com Symfony Console

Construindo aplicações CLI com

Symfony Console

Bruno Ricardo Siqueira

Page 2: Construindo aplicações CLI com Symfony Console

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.

Page 3: Construindo aplicações CLI com Symfony Console

CLI

Page 4: Construindo aplicações CLI com Symfony Console
Page 5: Construindo aplicações CLI com Symfony Console
Page 6: Construindo aplicações CLI com Symfony Console

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...

Page 7: Construindo aplicações CLI com Symfony Console
Page 8: Construindo aplicações CLI com Symfony Console
Page 9: Construindo aplicações CLI com Symfony Console

SHELL SCRIPTING

Page 10: Construindo aplicações CLI com Symfony Console
Page 11: Construindo aplicações CLI com Symfony Console
Page 12: Construindo aplicações CLI com Symfony Console

● Automação de tarefas;

● Prototipagem rápida;

● Wrappers;

● ...

SHELL SCRIPTING

● Diferentes

interpretadores;

● Windows;

● Reutilização em outras

linguagens;

● ...

Page 13: Construindo aplicações CLI com Symfony Console

APLICAÇÕES CLI

Page 14: Construindo aplicações CLI com Symfony Console

APLICAÇÕES CLI

...

Page 15: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE

Page 16: Construindo aplicações CLI com 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

Page 17: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - INSTALAÇÃO

Page 18: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - INSTALAÇÃO

Page 19: Construindo aplicações CLI com Symfony Console
Page 20: Construindo aplicações CLI com Symfony Console

Como queusa

isso ae tio?

Page 21: Construindo aplicações CLI com Symfony Console
Page 22: Construindo aplicações CLI com Symfony Console
Page 23: Construindo aplicações CLI com Symfony Console

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

Page 24: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - ESTILOS

Page 25: Construindo aplicações CLI com Symfony Console

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

Page 26: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - VERBOSIDADE

Page 27: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - ARGUMENTOS

Page 28: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - ARGUMENTOS

Page 29: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - ARGUMENTOS

Page 30: Construindo aplicações CLI com Symfony Console

InputArgument::REQUIRED

InputArgument::OPTIONAL

InputArgument::IS_ARRAY

SYMFONY CONSOLE - ARGUMENTOS

Page 31: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - OPÇÕES

Page 32: Construindo aplicações CLI com Symfony Console

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

Page 33: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - QUESTION HELPER

Page 34: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - FORMATTER HELPER

Page 35: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - PROGRESS BAR HELPER

Page 36: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - PROGRESS BAR HELPER

Page 37: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - TABLE HELPER

Page 38: Construindo aplicações CLI com Symfony Console

SYMFONY CONSOLE - REUTILIZANDO COMANDOS

Page 39: Construindo aplicações CLI com Symfony Console

QUEM ESTÁ UTILIZANDO?

Page 40: Construindo aplicações CLI com Symfony Console

QUEM ESTÁ UTILIZANDO - DRUPAL CONSOLE

Page 41: Construindo aplicações CLI com Symfony Console

QUEM ESTÁ UTILIZANDO - COMPOSER

Page 42: Construindo aplicações CLI com Symfony Console

QUEM ESTÁ UTILIZANDO - ESTATÍSTICAS PACKAGIST

Page 43: Construindo aplicações CLI com Symfony Console

QUEM ESTÁ UTILIZANDO - ESTATÍSTICAS PACKAGIST

Page 44: Construindo aplicações CLI com Symfony Console

PERGUNTAS?

Page 45: Construindo aplicações CLI com Symfony Console

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

Page 46: Construindo aplicações CLI com Symfony Console

THANKS FOR

BEINGHERE!

BRUNO RICARDO SIQUEIRA

@brunoric

Construindo aplicações CLI com

Symfony Console