A Arte do Desenvolvimento PHP v.1.5

Download A Arte do Desenvolvimento PHP v.1.5

Post on 01-Sep-2014

1.884 views

Category:

Technology

3 download

DESCRIPTION

Esta palestra visa realizar um paralelo entre o desenvolvimento de aplicaes e o trabalho de artistas.

TRANSCRIPT

  • A Arte do Desenvolvimento PHP PHP Conference 2010
  • Duodraco... Desenvolvimento web desde 2002 Anlise, desenvolvimento, arquitetura Zend Certified Engineer 07 Certified Scrum Master Analista no TiqueImveis Evangelista PHP PHPConference Brasil 2010 - Duodraco
  • Falaremos hoje sobre PHP Tcnicas de Desenvolvimento Boas Prticas Ferramentas Coisas para ter em mente Entre outras coisas PHPConference Brasil 2010 - Duodraco
  • ObjetivosPHPConference Brasil 2010 - Duodraco
  • Somos Artesos
  • precisamos de ferramentas
  • O que temos mo? PHPConference Brasil 2010 - Duodraco
  • PHP Por si s j uma toolbox Suporta a maioria dos SGBDs SQLite Suporte a Orientao a Objetos Design Patterns Streams Controle sobre o HTTP XML, JSON, WSDL ... PHPConference Brasil 2010 - Duodraco
  • NamespacesPHPConference Brasil 2010 - Duodraco
  • Namespaces PHP5.3+ Organizao Pacotes Evita conflitos de nome namespace Framework DB; use Framework DB; Instance::conn($dsn,$user,$secret); Framework DB Instance::conn(...); PHPConference Brasil 2010 - Duodraco
  • SPL: Standard PHP Library PHPConference Brasil 2010 - Duodraco
  • SPL Classes, Interfaces e funes Funes para Autoload e outras Iterators Estruturas de Dados Observer Array Object SPLTypes PHPConference Brasil 2010 - Duodraco
  • PDO: PHP Data Objects
  • PDO Interface padro para acesso a BD $pdo->query ao invs de xpto_query Drivers MSSql, MySQL, PostgreSQL, Firebird, Oracle*, PDO 4D (experimental), ODBC Utiliza-se da SPL Iterators reduzem a carga Processamento e Transporte de dados *instvel PHPConference Brasil 2010 - Duodraco
  • Datetime PHPConference Brasil 2010 - Duodraco
  • Datetime PHP 5.2+ Conjunto de classes para manipulao de tempo. Timezone Interval / Period PHPConference Brasil 2010 - Duodraco
  • Command Line InterfacePHPConference Brasil 2010 - Duodraco
  • Buscando recursos externos PHPConference Brasil 2010 - Duodraco
  • Google Code
  • Source Forge PHPConference Brasil 2010 - Duodraco
  • GitHub
  • PEAR e PECL PHPConference Brasil 2010 - Duodraco
  • PEAR e PECL PEAR Classes e bibliotecas (PHP) PECL Extenses compiladas pear channel-discover pear.phpunit.de pear install all-deps phpunit/PHPUnit pecl install xdebug Em breve PEAR2 PHPConference Brasil 2010 - Duodraco
  • Mos obra
  • IDE Integrated Development Enviroment Ambiente integrado: Cdigo, Debug, Profilling... Eclipse ZendStudio | PDT | Aptana Netbeans Komodo Kdevelop Geany PHPConference Brasil 2010 - Duodraco
  • Editores Windows VIM Notepad++ Mac Textmate Coda Linux Kate Gedit PHPConference Brasil 2010 - Duodraco
  • Frameworks PHPConference Brasil 2010 - Duodraco
  • Frameworks Vai te poupar tempo e evitar cabelos brancos precoces O bsico j est pronto Estrutura Conexo com o BD Segurana Comuncao (API / Email / WS / etc) Na maioria adotam o MVC PHPConference Brasil 2010 - Duodraco
  • Frameworks Zend Framework Prado Symfony EzComponents CakePHP FuseBox CodeIgniter QCodo Kohana Seagull Yii PHPConference Brasil 2010 - Duodraco
  • Manipulao de Dados
  • Camada de Abstrao Prov uma interface unificada de comunicao entre a aplicao e o Banco de Dados, seja qual for. PDO MDB2 ADODB DbFacile Doctrine PHPConference Brasil 2010 - Duodraco
  • ORM Mapeamento Objeto-Relacional Objetos como entidades Creole Propel Doctrine Outlet , RedBean PHPConference Brasil 2010 - Duodraco
  • NoSQL Memcached [PECL] MongoDB | CouchDB JSON Extenso Doctrine PHPConference Brasil 2010 - Duodraco
  • Acabando com os Bugs!PHPConference Brasil 2010 - Duodraco
  • Acabando com os Bugs! NO DEBUGUE COM ECHO!!! Utilize ferramentas que: Param a execuo Permitem o avano passo-a-passo da execuo Mostram todas as variveis ativas em qualquer ponto Avaliam performance Possibilitem que voc faa tudo isso da sua IDE PHPConference Brasil 2010 - Duodraco
  • E o nosso repelente
  • XDebug PECL, Binrios, cdigo fonte Debugging Tracing Profilling Cachegrind Integrao com as principais IDEs PHPConference Brasil 2010 - Duodraco
  • Alm do XDebug Webgrind PHP_Debug Dbug FirePHP *DBG* PHPConference Brasil 2010 - Duodraco
  • Fazendo ArtePHPConference Brasil 2010 - Duodraco
  • Integrao Contnua PHPConference Brasil 2010 - Duodraco
  • Integrao Contnua Condio de constituir um todo pela adio ou combinao de partes ou elementos. (Michaelis) Integrao de uma mudana Sem que quebre seu projeto Regularmente Prtica de engenharia de software Metodologias geis Produzir um sistema funcional quantas vezes forem possveis PHPConference Brasil 2010 - Duodraco
  • Integrao Contnua Hudson + Phing PHP Under Control [CruiseControl] Arbit Sismo XINC Xinc Is Not Cruise Control PHPConference Brasil 2010 - Duodraco
  • Deployment com PhingPHPConference Brasil 2010 - Duodraco
  • Phing Phing Is Not Gnumake Ferramenta de building, realiza tarefas que auxiliam a aplicao Configurar Empacotar Transferir entre servidores Testar Testes unitrios, padres de cdigo, documentao etc PHPConference Brasil 2010 - Duodraco
  • Testes Unitrios
  • Testes Unitrios Testes de Entrada e Sada para cada unidade do projeto PHPUnit Lime SimpleTest PHPConference Brasil 2010 - Duodraco
  • Padro de CodificaoPHPConference Brasil 2010 - Duodraco
  • Padro de Codificao Organizao Consistncia, todos programam do mesmo jeito Zend, PEAR, PHPCS, Squiz e MySource PHP_Codesniffer CodeBeautifier / PHP_Beautifier PHPConference Brasil 2010 - Duodraco
  • Documentao
  • Documentao PHPDocumentor Doxygen Annotations PHP2UML / UML2PHP Dia2PHP PHP2XMI PHPConference Brasil 2010 - Duodraco
  • Replicao
  • Replicao Duplicao: Textualmente Marcao Funcionalidade Replicao != Reutilizao Cdigo replicado evolui em separado PHPCPD Copy & Paste Detector Varre os arquivos PHP em busca de trechos duplicados PHPConference Brasil 2010 - Duodraco
  • Baguna???
  • Baguna??? Pouca experincia Cdigo Legado Pressa Presso Sobrinhos... PHPConference Brasil 2010 - Duodraco
  • PHP Mess Detector Procura por trechos que possam Ter possveis bugs Cdigo no otimizado Expresses exageradamente complexas Parmetros, mtodos e atributos no usados Indica cdigo a ser refatorado PHPConference Brasil 2010 - Duodraco
  • Mtricas de Software
  • Mtricas de Software PHP_Depend Indetifica pores de cdigo candidatas a refatorao. CCN: Cyclomatic Complexity LoC - > Lines of Code Totais Comentadas (CLoC) ou no (NCLoC) Executveis (EloC) etc.. PHPConference Brasil 2010 - Duodraco
  • Gerenciando PHPConference Brasil 2010 - Duodraco
  • Gerenciando Projetos Tarefas Bugs Equipe Workflow Verses Integrao PHPConference Brasil 2010 - Duodraco
  • Gerenciando Projetos PHProjekt PHP-Collab Achievo Arbit Mantis PHPConference Brasil 2010 - Duodraco
  • Objetivo e Criatividade
  • Dvidas???
  • Contato http://duodra.co o@duodra.co @duodraco [twitter e identi.ca] facebook.com/duodraco linkedin.com/in/andersoncasimiro slideshare.net/duodraco PHPConference Brasil 2010 - Duodraco