php tools for fast coding

41
Fast Coding Por Daniel Archer

Upload: daniel-archer

Post on 03-Aug-2015

532 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: PHP Tools for Fast coding

Fast Coding

Por Daniel Archer

Page 2: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

O que é programar em alta velocidade?

Page 3: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Usar o framework mais rápido do mercado!

O que é programar em alta velocidade?

Page 4: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Usar o framework mais rápido do mercado! Não

O que é programar em alta velocidade?

Page 5: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Saber usar as suas ferramentas!

Page 6: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Saber usar as suas ferramentas! ...?

Page 7: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Tópicos Abordados1. Ferramentas

1. IDEs (Integrated Development Enviroment)1. Eclipse PDT2. PHPStorm

2. Editores1. NotePad++2. Sublime Text 2 & 3

2. Frameworks1. Porque usar2. Vantagens dos micro-frameworks

3. Plugins1. Emmet2. Gist

4. Funções Nativas1. Strtotime / array_combine / array_map / glob / etc...

5. Design Patterns

Root / Sumário

Page 8: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

IDE

Ambiente de Desenvolvimento Integrado

(Temos tudo que você irá precisa!)

Root / Ferramentas

Page 9: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Eclipse PDT

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

Root / Ferramentas / IDE

Page 10: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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

Root / Ferramentas / IDE

Page 11: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

PhpStorm

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

Root / Ferramentas / IDE

Page 12: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

PhpStorm

Funcionalidades

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

• GIT• SVN• Suporte a Frameworks• Namespaces• ...

Root / Ferramentas / IDE

Page 13: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Procure na documentação!

Root / Ferramentas / IDE

Page 14: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Editores

Root / Ferramentas / Editores

Page 15: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Notepad++Root / Ferramentas / Editores

Page 16: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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

Root / Ferramentas / Editores

Page 17: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Sublime Text 2 & 3Root / Ferramentas / Editores

Page 18: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Sublime Text 2 & 3

Prós• Leve / Multiuso• Package Control• Command Control• Integração com diversas

tecnologias atuais como:– GIT, SVN, PHP Unit

• Macro códigos• Interface de Busca incrível• Seleção multipla• Performance Fantástica• Muitas opções de customização

Contras• Excesso de plugins pode

causar transtornos• É necessário ser bom em

Street Fighter.

Root / Ferramentas / Editores

Page 19: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Frameworks!

Agora sim! Qual o melhor?

Root / Frameworks

Page 20: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Frameworks!

Nenhum :(

Root / Frameworks

Page 21: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Conceito

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

Root / Frameworks / Porque usar?

Page 22: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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.

Root / Frameworks / Porque usar?

Page 23: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

...porém

Te fará escrever uma vez só.

Root / Frameworks / Porque usar?

Page 24: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Conheça plenamente o seu framework

O conhecimento te fará escrever muito melhor e mais rápido. Não

importa o framework.

Root / Frameworks / Porque usar?

Page 25: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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.

Root / Frameworks / Porque usar?

Page 26: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Micro-Frameworks!

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

Root / Frameworks / Vantagens dos Micro-frameworks

Page 27: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Resolvem um problema específico

Algumas vezes, não precisamos de bolas de canhão, apenas uma boa

escopeta!

Root / Frameworks / Vantagens dos Micro-frameworks

Page 28: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

A não ser a espada do Cloud

Todos precisam da espada do Cloud

Root / Frameworks / Vantagens dos Micro-frameworks

Page 29: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

SlimSilex

GluePHPFlight

LimonadeRespect

... E muitos outros

Root / Frameworks / Vantagens dos Micro-frameworks

Page 30: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Emmet

Zen-Conding

Root / Plugins

Page 31: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Root / Plugins

Page 32: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Gist

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

Root / Plugins

Page 33: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Gist

Criando um Gist de forma Rápida com PhpStorm

Root / Plugins

Page 34: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

Funções Nativas

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

Root / Funções Nativas

Page 35: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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”

Root / Funções Nativas

Page 36: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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 # )?>

Root / Funções Nativas

Page 37: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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# )?>

Root / Funções Nativas

Page 38: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

GLOB();

<?phpforeach ( 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]');?>

Root / Funções Nativas

Page 39: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

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…

Root / Funções Nativas

Page 40: PHP Tools for Fast coding

PHP Conference 2013 - Fast Coding

ComposerRoot / Composer

Page 41: PHP Tools for Fast coding

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/