modern php

Download Modern PHP

Post on 07-Apr-2017

701 views

Category:

Technology

2 download

Embed Size (px)

TRANSCRIPT

Apresentao do PowerPoint

Modern PHPAri Stopassola Junior

1

Bacharel em Informtica com nfase em Anlise de Sistemas pela Unisinos, cursou mestrado em Engenharia Informtica e de Computadores pelo Instituto Superior Tcnico da Universidade Tcnica de Lisboa (Portugal), perito judicial ad hoc especializado em TI (mantenedor do site PERITO.inf.br), Zend Certified Engineer (PHP 5.3), Zend Certified PHP Engineer (PHP 5.5) e Zend Framework 2 Certified Architect (ZFCA) #ZEND004019, Certified ScrumMaster pela Scrum Alliance #203613, Microsoft Certified Professional (MCP), idealizador do projeto Certificamp, consultor web e PHP evangelist.Ari Stopassola Junior

SlideShare

20 anoshttp://haphpy-birthday.net

https://plus.google.com/115682389249477476280/posts

O comeoRasmus LerdorfConjunto de scripts"Personal Home Page Tools"Viveu em Porto Alegre de 1991 a 1993

Extrado de: http://lerdorf.com/resume/

Histria

Mesmo com 11 anos de diferena entre a verso 7 e 5, a comunida jamais esteve parada.6

Popularidadehttp://w3techs.com/technologies/overview/programming_language/all

https://github.com/trending?l=php8

+82% de TODA a internet usa PHP

Fonte: http://w3techs.com/technologies/overview/programming_language/all9

Renascimento

https://pt.wikipedia.org/wiki/Homem_Vitruviano_%28desenho_de_Leonardo_da_Vinci%29

O novo PHP10

Framework Interoperability Group

Php|tek de 2009 os lderes dos principais frameworks se encontraram.11

PSRPHP Standards Recommendations http://www.php-fig.org/psr/

PSR-1http://www.php-fig.org/psr/psr-1/

NamespacesStudlyCapsMAISCULAScamelCase

Basic Code StyleBasic Coding Standard13

PSR-2http://www.php-fig.org/psr/psr-2/

VisibilidadeChaves (classes e mtodos) sempre em nova linhaLinha em branco aps a declarao de namespace

Coding Style Guide14

Tela do editor Coda (Panic) for Mac, s para ilustrao15

Coding Standardshttp://pear.php.net/package/PHP_CodeSniffer

Instalao:pear install PHP_CodeSnifferouapt-get install php-codesniffer (Linux)

phpcs hello.phpphpcs --standard=zend hello.php

http://pear.php.net/manual/pt_BR/package.php.php-codesniffer.coding-standard-tutorial.phpPode checar outros formatos alm do PHP, com por exemplo JS e XML.16

Checar e corrigirPara checar o PSR-1 e PSR-2 utilize o CodeSniffer:phpcs --standard=PSR2 arquivo.php

Para corrigir de eventuais problemas utilize Code Beautifier and Fixer:phpcbf --standard=PSR2 arquivo.php

Boas prticas vo alm...

Controle de verso. Ex.: gitMetodologias geis. Ex.: ScrumPadres de Projeto (design patterns)Ambientes homogneos. Ex.: Vagrant e DockerMecanismos de implantao (deployment)TestesAPI-centricConduta

https://cleancoders.com

QA: quality assurancehttp://phpqatools.org

Garantia de qualidade20

Outros padres recomendadosPSR-3 Logger InterfacePSR-4 Autoloading StandardPSR-6 Caching InterfacePSR-7 HTTP Message Interface

Autoload mudou significativamente a forma de desenvolver aplicaes. Antes da verso 5, era necessrio fazer include/require em cada arquivos de classes que desejava incorporar.Introduziu-se o __autoload();21

Componentes

PEAR: PHP Extension and Application RepositoryPEAR so classes em PHP (includas no cdigo), enquanto que PECL so extenses escritas em CInstala pacotes num repositrio centralRequer privilgios de administrador/rootEstagnadaFora a qualidade de cdigo com inmeras regras.23

Gestor de dependncias para PHP

http://getcomposer.org

Mais moderno que os demais24

Packagist: repositrio de pacoteshttps://packagist.org

php composer.phar require phpoffice/phpword

https://packagist.org/statistics