SlideShare une entreprise Scribd logo
1  sur  41
Fast Coding

Por Daniel Archer
O que é programar em
alta velocidade?

PHP Conference 2013 - Fast Coding
Usar o framework mais rápido do
mercado!

O que é programar em
alta velocidade?

PHP Conference 2013 - Fast Coding
Usar o framework mais rápido do
mercado!

Não

O que é programar em
alta velocidade?

PHP Conference 2013 - Fast Coding
Saber usar as
suas ferramentas!

PHP Conference 2013 - Fast Coding
Saber usar as
suas ferramentas!

PHP Conference 2013 - Fast Coding

...?
Root / Sumário

Tópicos Abordados
1.

Ferramentas
1.

IDEs (Integrated Development Enviroment)
1.
2.

2.

Editores
1.
2.

2.

Emmet
Gist

Funções Nativas
1.

5.

Porque usar
Vantagens dos micro-frameworks

Plugins
1.
2.

4.

NotePad++
Sublime Text 2 & 3

Frameworks
1.
2.

3.

Eclipse PDT
PHPStorm

Strtotime / array_combine / array_map / glob / etc...

Design Patterns
PHP Conference 2013 - Fast Coding
Root / Ferramentas

IDE
Ambiente de Desenvolvimento
Integrado
(Temos tudo que você irá precisa!)

PHP Conference 2013 - Fast Coding
Root / Ferramentas / IDE

Eclipse PDT
• Ambiente de Desenvolvimento Integrado
(Temos tudo que você irá precisa!)

PHP Conference 2013 - Fast Coding
Root / Ferramentas / IDE

Eclipse PDT
Funcionalidades

•
•
•
•
•

Coloração de Sintaxe
Autocompletar para Códigos (Variáveis, Classes, Funções, ...)
“Jump to Function”
Integração com PHP Unit
Integração com Controle de Versões (GIT, SVN, ...)

PHP Conference 2013 - Fast Coding
Root / Ferramentas / IDE

PhpStorm
• Ambiente de Desenvolvimento Integrado
(Temos tudo que você irá precisa!)

PHP Conference 2013 - Fast Coding
Root / Ferramentas / IDE

PhpStorm
Funcionalidades

•
•
•
•
•

Suporte PHP 5.5
Vagrant Nativo!
Correção de Sintaxe
“Jump to Function”
PHP Doc

•
•
•
•
•

GIT
SVN
Suporte a Frameworks
Namespaces
...

PHP Conference 2013 - Fast Coding
Root / Ferramentas / IDE

Procure na
documentação!

PHP Conference 2013 - Fast Coding
Root / Ferramentas / Editores

Editores

PHP Conference 2013 - Fast Coding
Root / Ferramentas / Editores

Notepad++

PHP Conference 2013 - Fast Coding
Root / Ferramentas / Editores

Notepad++
Prós
• Leve
• Multiuso
• Grande quantidade de
Plugins
• Customizável
• Macro códigos

•
•
•
•

Contras
Incompleto
Excesso de plugins pode
causar transtornos
Alguns plugins de má
qualidade.
Lento para procura de
arquivos/funções

PHP Conference 2013 - Fast Coding
Root / Ferramentas / Editores

Sublime Text 2 & 3

PHP Conference 2013 - Fast Coding
Root / Ferramentas / Editores

Sublime Text 2 & 3
Prós
•
•
•
•

Leve / Multiuso
Package Control
Command Control
Integração com diversas
tecnologias atuais como:

Contras
• Excesso de plugins pode
causar transtornos
• É necessário ser bom em
Street Fighter.

– GIT, SVN, PHP Unit

•
•
•
•
•

Macro códigos
Interface de Busca incrível
Seleção multipla
Performance Fantástica
Muitas opções de
customização
PHP Conference 2013 - Fast Coding
Root / Frameworks

Frameworks!
Agora sim! Qual o melhor?

PHP Conference 2013 - Fast Coding
Root / Frameworks

Frameworks!
Nenhum :(

PHP Conference 2013 - Fast Coding
Root / Frameworks / Porque usar?

Conceito
Framework é a abstração de um
problema, um conjunto de soluções
pré-estabelecidas para um domínio.

PHP Conference 2013 - Fast Coding
Root / Frameworks / Porque usar?

O quê não te contaram...
Utilizar um framework não te fará
escrever um código mais rápido.
Muito menos um código menor.

PHP Conference 2013 - Fast Coding
Root / Frameworks / Porque usar?

...porém
Te fará escrever uma vez só.

PHP Conference 2013 - Fast Coding
Root / Frameworks / Porque usar?

Conheça plenamente o seu
framework
O conhecimento te fará escrever
muito melhor e mais rápido. Não
importa o framework.

PHP Conference 2013 - Fast Coding
Root / Frameworks / Porque usar?

Apostar em Frameworks novos,
pode ser perigoso.
Cabe ao líder da equipe averiguar em cada
projeto se vale a pena correr o risco. Sempre
é bom aprender coisas novas e talvez obter
boas experiências com isso.

PHP Conference 2013 - Fast Coding
Root / Frameworks / Vantagens dos Micro-frameworks

Micro-Frameworks!
A solução do mundo está aqui!
(ou quase)

PHP Conference 2013 - Fast Coding
Root / Frameworks / Vantagens dos Micro-frameworks

Resolvem um problema
específico
Algumas vezes, não precisamos de
bolas de canhão, apenas uma boa
escopeta!

PHP Conference 2013 - Fast Coding
Root / Frameworks / Vantagens dos Micro-frameworks

A não ser a espada do Cloud

Todos precisam da espada do Cloud
PHP Conference 2013 - Fast Coding
Root / Frameworks / Vantagens dos Micro-frameworks

Slim
Silex
GluePHP
Flight
Limonade
Respect
... E muitos outros

PHP Conference 2013 - Fast Coding
Root / Plugins

Emmet
Zen-Conding

PHP Conference 2013 - Fast Coding
Root / Plugins

PHP Conference 2013 - Fast Coding
Root / Plugins

Gist
Criando um Gist de forma Rápida
com Sublime Text 3

PHP Conference 2013 - Fast Coding
Root / Plugins

Gist
Criando um Gist de forma Rápida
com PhpStorm

PHP Conference 2013 - Fast Coding
Root / Funções Nativas

Funções Nativas
Sim, porque você pode aprender a
programar mais rápido usando
recursos da própria linguagem.

PHP Conference 2013 - Fast Coding
Root / Funções Nativas

STRTOTIME();
echo date( “d/m/Y” , strtotime( “last day of next month” ) );
# imprime “31/12/2013”
echo date( “d/m/Y” , strtotime( “next Monday of 2013-11-20” ) );
# imprime “31/12/2013”

PHP Conference 2013 - Fast Coding
Root / Funções Nativas

ARRAY_COMBINE();
<?php
$clienteAtributos = [ "nome“ , "cidade“ , "telefone“ ];
$linhaExportacao = "daniel;porto alegre;51 3333.3333";
$arrayCliente =
array_combine($clienteAtributos, explode(";“,$linhaExportacao ) );
print_r( $arrayCliente );
# Array (
# [nome] => daniel
# [cidade] => porto alegre
# [telefone] => 51 3333.3333
# )
?>
PHP Conference 2013 - Fast Coding
Root / Funções Nativas

ARRAY_MAP();
<?php
function correcaoMaiusculas( $texto ) {
return ucwords( strtolower( $texto ) );
}
$arrayCliente = [ "DANIEL“ , "Jose“ , "paulo“ , “gabriel FERREIRA“ ];
$arrayCliente = array_map( 'correcaoMaiusculas‘ , $arrayCliente);
print_r( $arrayCliente );

# Array (
# [0] => Daniel
# [1] => Jose
# [2] => Paulo
# [3] => Gabriel Ferreira
#)
?>

PHP Conference 2013 - Fast Coding
Root / Funções Nativas

GLOB();
<?php
foreach ( glob("*.txt") as $arquivo ) {
echo "tamanho de $arquivo " . filesize($arquivo) . "n";
}
# tamanho de functionlist.txt 44686
# tamanho de functionsummary.txt 267625
# tamanho de quickref.txt 137820
# glob('my/dir/*.[cC][sS][vV]');
?>

PHP Conference 2013 - Fast Coding
Root / Funções Nativas

PHP Built-in WebServer
$ cd ~/public_html
$ php -S localhost:8000
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
…

PHP Conference 2013 - Fast Coding
Root / Composer

Composer

PHP Conference 2013 - Fast Coding
• Eclipse PDT - http://www.zend.com/en/company/community/pdt/
• Eclipse PHP Unit - http://blog.loftdigital.com/running-phpunit-tests-in-eclipse-pdt
• Eclipse Egit - http://marketplace.eclipse.org/content/egit-git-team-provider
• Eclipse SVN - http://marketplace.eclipse.org/content/subclipse
• PHP Storm 7 - http://www.jetbrains.com/phpstorm/
• Vagrant - http://www.vagrantup.com/
• Notepad++ - http://notepad-plus-plus.org/
• Notepad++ Emmet - https://github.com/emmetio/npp#readme
• Sublime Text - http://www.sublimetext.com/
• Sublime Text 2 Documentação - http://www.sublimetext.com/docs/2/
• Sublime Text 3 Documentação - http://www.sublimetext.com/docs/3/
• Microframeworks – Slim – http://slimframework.com/
• Microframeworks – Silex - http://silex.sensiolabs.org/
• Microframeworks – GluePHP - http://gluephp.com/
• Microframeworks – Limonade - http://limonade-php.github.io/
• Microframeworks – Flight - http://flightphp.com/
• Microframeworks – Respect - http://respect.li/
• Emmet - http://docs.emmet.io
• Composer - http://getcomposer.org/

PHP Conference 2013 - Fast Coding

Contenu connexe

Tendances

Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!Isaac de Souza
 
Zend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoZend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoFlávio Lisboa
 
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
 
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ NagiosCriando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ NagiosCarlos Eduardo
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasVitor Mattos
 
Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Arthur Furlan
 

Tendances (11)

PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
PHP Além da universidade
PHP Além da universidadePHP Além da universidade
PHP Além da universidade
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!
 
Zend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoZend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimorado
 
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
 
Criando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ NagiosCriando plugin para o Nagios em Shell Script _ Nagios
Criando plugin para o Nagios em Shell Script _ Nagios
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemas
 
Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
Java acsp
Java acspJava acsp
Java acsp
 

Similaire à PHP Tools for Fast coding

O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Gabriel Machado
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7tdc-globalcode
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowRicardo Longa
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005Comunidade CanalSharePoint
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Comunidade NetPonto
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalLeo Baiano
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias WebRildo Pragana
 

Similaire à PHP Tools for Fast coding (20)

O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools Flow
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005
Trabalhando com ambientes complexos – SharePoint 2007 e SQL Server 2005
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0Parallel Programming no .NET 4.0
Parallel Programming no .NET 4.0
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissional
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 

Plus de Daniel Archer Marques Cramer (9)

Filas e mensageria com RabbitMQ
Filas e mensageria com RabbitMQFilas e mensageria com RabbitMQ
Filas e mensageria com RabbitMQ
 
Monitorando aplicações com Prometheus
Monitorando aplicações com PrometheusMonitorando aplicações com Prometheus
Monitorando aplicações com Prometheus
 
Over engineering
Over engineeringOver engineering
Over engineering
 
Frameworks e microframeworks php - conexão kinghost
Frameworks e microframeworks php - conexão kinghostFrameworks e microframeworks php - conexão kinghost
Frameworks e microframeworks php - conexão kinghost
 
Case Kinghost + Elasticsearch
Case Kinghost + ElasticsearchCase Kinghost + Elasticsearch
Case Kinghost + Elasticsearch
 
Aplicando SOLID com PHP7
Aplicando SOLID com PHP7Aplicando SOLID com PHP7
Aplicando SOLID com PHP7
 
Refatorar é preciso! 2.0
Refatorar é preciso! 2.0Refatorar é preciso! 2.0
Refatorar é preciso! 2.0
 
Php on the cloud
Php on the cloudPhp on the cloud
Php on the cloud
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 

PHP Tools for Fast coding

  • 2. O que é programar em alta velocidade? PHP Conference 2013 - Fast Coding
  • 3. Usar o framework mais rápido do mercado! O que é programar em alta velocidade? PHP Conference 2013 - Fast Coding
  • 4. Usar o framework mais rápido do mercado! Não O que é programar em alta velocidade? PHP Conference 2013 - Fast Coding
  • 5. Saber usar as suas ferramentas! PHP Conference 2013 - Fast Coding
  • 6. Saber usar as suas ferramentas! PHP Conference 2013 - Fast Coding ...?
  • 7. Root / Sumário Tópicos Abordados 1. Ferramentas 1. IDEs (Integrated Development Enviroment) 1. 2. 2. Editores 1. 2. 2. Emmet Gist Funções Nativas 1. 5. Porque usar Vantagens dos micro-frameworks Plugins 1. 2. 4. NotePad++ Sublime Text 2 & 3 Frameworks 1. 2. 3. Eclipse PDT PHPStorm Strtotime / array_combine / array_map / glob / etc... Design Patterns PHP Conference 2013 - Fast Coding
  • 8. Root / Ferramentas IDE Ambiente de Desenvolvimento Integrado (Temos tudo que você irá precisa!) PHP Conference 2013 - Fast Coding
  • 9. Root / Ferramentas / IDE Eclipse PDT • Ambiente de Desenvolvimento Integrado (Temos tudo que você irá precisa!) PHP Conference 2013 - Fast Coding
  • 10. Root / Ferramentas / IDE Eclipse PDT Funcionalidades • • • • • Coloração de Sintaxe Autocompletar para Códigos (Variáveis, Classes, Funções, ...) “Jump to Function” Integração com PHP Unit Integração com Controle de Versões (GIT, SVN, ...) PHP Conference 2013 - Fast Coding
  • 11. Root / Ferramentas / IDE PhpStorm • Ambiente de Desenvolvimento Integrado (Temos tudo que você irá precisa!) PHP Conference 2013 - Fast Coding
  • 12. Root / Ferramentas / IDE PhpStorm Funcionalidades • • • • • Suporte PHP 5.5 Vagrant Nativo! Correção de Sintaxe “Jump to Function” PHP Doc • • • • • GIT SVN Suporte a Frameworks Namespaces ... PHP Conference 2013 - Fast Coding
  • 13. Root / Ferramentas / IDE Procure na documentação! PHP Conference 2013 - Fast Coding
  • 14. Root / Ferramentas / Editores Editores PHP Conference 2013 - Fast Coding
  • 15. Root / Ferramentas / Editores Notepad++ PHP Conference 2013 - Fast Coding
  • 16. Root / Ferramentas / Editores Notepad++ Prós • Leve • Multiuso • Grande quantidade de Plugins • Customizável • Macro códigos • • • • Contras Incompleto Excesso de plugins pode causar transtornos Alguns plugins de má qualidade. Lento para procura de arquivos/funções PHP Conference 2013 - Fast Coding
  • 17. Root / Ferramentas / Editores Sublime Text 2 & 3 PHP Conference 2013 - Fast Coding
  • 18. Root / Ferramentas / Editores Sublime Text 2 & 3 Prós • • • • Leve / Multiuso Package Control Command Control Integração com diversas tecnologias atuais como: Contras • Excesso de plugins pode causar transtornos • É necessário ser bom em Street Fighter. – GIT, SVN, PHP Unit • • • • • Macro códigos Interface de Busca incrível Seleção multipla Performance Fantástica Muitas opções de customização PHP Conference 2013 - Fast Coding
  • 19. Root / Frameworks Frameworks! Agora sim! Qual o melhor? PHP Conference 2013 - Fast Coding
  • 20. Root / Frameworks Frameworks! Nenhum :( PHP Conference 2013 - Fast Coding
  • 21. Root / Frameworks / Porque usar? Conceito Framework é a abstração de um problema, um conjunto de soluções pré-estabelecidas para um domínio. PHP Conference 2013 - Fast Coding
  • 22. Root / Frameworks / Porque usar? O quê não te contaram... Utilizar um framework não te fará escrever um código mais rápido. Muito menos um código menor. PHP Conference 2013 - Fast Coding
  • 23. Root / Frameworks / Porque usar? ...porém Te fará escrever uma vez só. PHP Conference 2013 - Fast Coding
  • 24. Root / Frameworks / Porque usar? Conheça plenamente o seu framework O conhecimento te fará escrever muito melhor e mais rápido. Não importa o framework. PHP Conference 2013 - Fast Coding
  • 25. Root / Frameworks / Porque usar? Apostar em Frameworks novos, pode ser perigoso. Cabe ao líder da equipe averiguar em cada projeto se vale a pena correr o risco. Sempre é bom aprender coisas novas e talvez obter boas experiências com isso. PHP Conference 2013 - Fast Coding
  • 26. Root / Frameworks / Vantagens dos Micro-frameworks Micro-Frameworks! A solução do mundo está aqui! (ou quase) PHP Conference 2013 - Fast Coding
  • 27. Root / Frameworks / Vantagens dos Micro-frameworks Resolvem um problema específico Algumas vezes, não precisamos de bolas de canhão, apenas uma boa escopeta! PHP Conference 2013 - Fast Coding
  • 28. Root / Frameworks / Vantagens dos Micro-frameworks A não ser a espada do Cloud Todos precisam da espada do Cloud PHP Conference 2013 - Fast Coding
  • 29. Root / Frameworks / Vantagens dos Micro-frameworks Slim Silex GluePHP Flight Limonade Respect ... E muitos outros PHP Conference 2013 - Fast Coding
  • 30. Root / Plugins Emmet Zen-Conding PHP Conference 2013 - Fast Coding
  • 31. Root / Plugins PHP Conference 2013 - Fast Coding
  • 32. Root / Plugins Gist Criando um Gist de forma Rápida com Sublime Text 3 PHP Conference 2013 - Fast Coding
  • 33. Root / Plugins Gist Criando um Gist de forma Rápida com PhpStorm PHP Conference 2013 - Fast Coding
  • 34. Root / Funções Nativas Funções Nativas Sim, porque você pode aprender a programar mais rápido usando recursos da própria linguagem. PHP Conference 2013 - Fast Coding
  • 35. Root / Funções Nativas STRTOTIME(); echo date( “d/m/Y” , strtotime( “last day of next month” ) ); # imprime “31/12/2013” echo date( “d/m/Y” , strtotime( “next Monday of 2013-11-20” ) ); # imprime “31/12/2013” PHP Conference 2013 - Fast Coding
  • 36. Root / Funções Nativas ARRAY_COMBINE(); <?php $clienteAtributos = [ "nome“ , "cidade“ , "telefone“ ]; $linhaExportacao = "daniel;porto alegre;51 3333.3333"; $arrayCliente = array_combine($clienteAtributos, explode(";“,$linhaExportacao ) ); print_r( $arrayCliente ); # Array ( # [nome] => daniel # [cidade] => porto alegre # [telefone] => 51 3333.3333 # ) ?> PHP Conference 2013 - Fast Coding
  • 37. Root / Funções Nativas ARRAY_MAP(); <?php function correcaoMaiusculas( $texto ) { return ucwords( strtolower( $texto ) ); } $arrayCliente = [ "DANIEL“ , "Jose“ , "paulo“ , “gabriel FERREIRA“ ]; $arrayCliente = array_map( 'correcaoMaiusculas‘ , $arrayCliente); print_r( $arrayCliente ); # Array ( # [0] => Daniel # [1] => Jose # [2] => Paulo # [3] => Gabriel Ferreira #) ?> PHP Conference 2013 - Fast Coding
  • 38. Root / Funções Nativas GLOB(); <?php foreach ( glob("*.txt") as $arquivo ) { echo "tamanho de $arquivo " . filesize($arquivo) . "n"; } # tamanho de functionlist.txt 44686 # tamanho de functionsummary.txt 267625 # tamanho de quickref.txt 137820 # glob('my/dir/*.[cC][sS][vV]'); ?> PHP Conference 2013 - Fast Coding
  • 39. Root / Funções Nativas PHP Built-in WebServer $ cd ~/public_html $ php -S localhost:8000 PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit … PHP Conference 2013 - Fast Coding
  • 40. Root / Composer Composer PHP Conference 2013 - Fast Coding
  • 41. • Eclipse PDT - http://www.zend.com/en/company/community/pdt/ • Eclipse PHP Unit - http://blog.loftdigital.com/running-phpunit-tests-in-eclipse-pdt • Eclipse Egit - http://marketplace.eclipse.org/content/egit-git-team-provider • Eclipse SVN - http://marketplace.eclipse.org/content/subclipse • PHP Storm 7 - http://www.jetbrains.com/phpstorm/ • Vagrant - http://www.vagrantup.com/ • Notepad++ - http://notepad-plus-plus.org/ • Notepad++ Emmet - https://github.com/emmetio/npp#readme • Sublime Text - http://www.sublimetext.com/ • Sublime Text 2 Documentação - http://www.sublimetext.com/docs/2/ • Sublime Text 3 Documentação - http://www.sublimetext.com/docs/3/ • Microframeworks – Slim – http://slimframework.com/ • Microframeworks – Silex - http://silex.sensiolabs.org/ • Microframeworks – GluePHP - http://gluephp.com/ • Microframeworks – Limonade - http://limonade-php.github.io/ • Microframeworks – Flight - http://flightphp.com/ • Microframeworks – Respect - http://respect.li/ • Emmet - http://docs.emmet.io • Composer - http://getcomposer.org/ PHP Conference 2013 - Fast Coding