A Arte do Desenvolvimento PHP

  • Published on
    01-Sep-2014

  • View
    2.579

  • Download
    1

DESCRIPTION

 

Transcript

  • A Arte do Desenvolvimento PHP PHP Conference '09 duodraco - 2009
  • Anderson Duodraco Casimiro Zend Certified Engineer Coordenador do PHPSP Desenvolvedor Web desde 2002 Atuando em diversas reas Team Leader na Intelectas duodraco - 2009
  • Agenda Objetivos Ferramentas built-in Fontes Externas PEAR / PECL, Frameworks, Recursos externos Aplicao Concluso duodraco - 2009
  • Objetivos duodraco - 2009
  • Somos Artesos duodraco - 2009
  • precisamos de ferramentas duodraco - 2009
  • O que temos mo? duodraco - 2009
  • PHP Por si s j uma toolbox Nativamente suporta a maioria dos SGDBs Via correta compilao/instalao SQLite Suporte a Orientao a Objetos Design Patterns Streams Controle sobre o HTTP XML, JSON, WSDL PHAR duodraco - 2009
  • Namespaces duodraco - 2009
  • Namespaces PHP5.3+ Organizao Pacotes Evita conflitos de nome namespace Framework DB; use Framework DB; Instance :: conn( $dsn , $user , $secret ); Framework DB Instance :: conn(...); duodraco - 2009
  • SPL: Standard PHP Library duodraco - 2009
  • SPL Classes, Interfaces e funes Funes para Autoload e outras Iterators Estruturas de Dados Observer Array Object ... duodraco - 2009
  • PDO: PHP Data Objects duodraco - 2009
  • PDO Interface padro para acesso a BD $pdo->query ao invs de mysql_query ou pg_query Drivers MSSql, MySQL, PostgreSQL, Firebird, Oracle, etc PDO 4D (experimental) ODBC Utiliza-se da SPL Iterators reduzem a carga Processamento Transporte de dados duodraco - 2009
  • Datetime duodraco - 2009
  • Datetime PHP 5.2+ Conjunto de classes para manipulao de tempo. Timezone Interval / Period duodraco - 2009
  • Command Line Interface duodraco - 2009
  • Buscando recursos externos duodraco - 2009
  • Google Code duodraco - 2009
  • Source Forge duodraco - 2009
  • PEAR e PECL duodraco - 2009
  • 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 duodraco - 2009
  • Fazendo Arte duodraco - 2009
  • Integrao Contnua duodraco - 2009
  • 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 duodraco - 2009
  • Integrao Contnua CruiseControl + PHP Under Control Hudson + Phing XINC Xinc Is Not Cruise Control Sismo duodraco - 2009
  • Deployment com Phing duodraco - 2009
  • 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 duodraco - 2009
  • Testes Unitrios duodraco - 2009
  • Testes Unitrios Testes de Entrada e Sada para cada unidade do projeto PHPUnit Lime SimpleTest duodraco - 2009
  • Padro de Codificao duodraco - 2009
  • Padro de Codificao Organizao Consistncia, todos programam do mesmo jeito Zend, PEAR, PHPCS, Squiz e MySource PHP_Codesniffer CodeBeautifier / PHP_Beautifier duodraco - 2009
  • Documentao duodraco - 2009
  • Documentao PHPDocumentor Doxygen PHP2UML / UML2PHP Dia2PHP PHP2XMI duodraco - 2009
  • Replicao duodraco - 2009
  • 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 duodraco - 2009
  • Mtricas de Software duodraco - 2009
  • Mtricas de Software PHP_Depend Identifica pores de cdigo candidatas a refatorao. CCN: Cyclomatic Complexity LoC - > Linhas de Cdigo Totais Comentadas (CLoC) ou no (NCLoC) Executveis (EloC) etc.. duodraco - 2009
  • Acabando com os Bugs! duodraco - 2009
  • 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 duodraco - 2009
  • E o nosso Rodasol ... duodraco - 2009
  • XDebug PECL, Binrios, cdigo fonte Debugging Tracing Profilling Cachegrind Integrao com as principais IDEs duodraco - 2009
  • Alm do Rodasol Webgrind PHP_Debug Dbug FirePHP *DBG* duodraco - 2009
  • Frameworks duodraco - 2009
  • 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 duodraco - 2009
  • Frameworks Zend Framework Prado Symfony EzComponents CakePHP FuseBox CodeIgniter QCodo Kohana Seagull Yii duodraco - 2009
  • Banco de Dados duodraco - 2009
  • Camada de Abstrao Permite-nos usar o BD, sem us-lo diretamente, seja qual for. MDB2 ADODB DbFacile PDO duodraco - 2009
  • ORM Mapeamento Objeto-Relacional Objetos como entidades Creole Propel Doctrine Outlet , RedBean duodraco - 2009
  • Gerenciando duodraco - 2009
  • Gerenciando Projetos Tarefas Bugs Equipe Workflow Verses Integrao duodraco - 2009
  • Gerenciando Projetos PHProjekt PHP-Collab Achievo Arbit Mantis duodraco - 2009
  • Objetivo e Criatividade duodraco - 2009
  • Perguntas??? duodraco - 2009
  • Obrigado!!! duodraco - 2009
  • http://joind.in/1203 duodraco@phpsp.org.br anderson@duodraco.com facebook.com/duodraco twitter.com/duodraco duodraco.com phpsp.org.br duodraco - 2009