Este documento apresenta diversas ferramentas livres úteis para desenvolvimento com PHP, incluindo IDEs como PDT e editores como gPHPEdit, frameworks como Symfony e Zend Framework, ferramentas de depuração como XDebug, sistemas de controle de versão como CVS e SVN, e sistemas de rastreamento de bugs como Trac. O documento também fornece demonstrações e estatísticas sobre essas ferramentas.
1. Ferramentas livres para desenvolvimento com PHP
2º ESLIF
Encontro de Software Livre do
Instituto Superior Fátima
2. Ferramentas livres para desenvolvimento com PHP
Apresentação
Adler Medrado, programador/analista, atualmente prestando
serviços no Ministério do Desenvolvimento, Indústria e
Comércio Exterior – MDIC.
Proprietário e consultor da empresa Nesher T echnologies
Auto didata, sempre presente em eventos sobre PHP e
Software Livre
Membro da equipe de coordenação do Grupo de Usuários
PHP do Distrito Federal
Website - http://www.neshertech.net/adler
E-mail - adler@neshertech.net
3. Ferramentas livres para desenvolvimento com PHP
Introdução
Esta palestra tem por objetivo demonstrar ferramentas úteis
para desenvolvimento de software com PHP.
As ferramentas nem sempre são desenvolvidas usando PHP
mas foram feitas exclusivamente para uso com PHP e / ou
são totalmente apropriadas para isso.
Após esta palestra, o participante ampliará seu leque de
opções que facilitam o dia-a-dia de um desenvolvedor ou
uma equipe de desenvolvimento.
4. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores
IDE , do inglês Integrated Development Environment ou
Ambiente Integrado de Desenvolvimento, é um programa de
computador que reúne características e ferramentas de
apoio ao desenvolvimento de software com o objetivo de
agilizar este processo. Fonte: Wikipedia
Normalmente é composto basicamente das seguintes
funcionalidades:
● Editor (com realce de sintaxe, auto-complete, etc)
● Debugger (Depurador)
● Gerenciador de projetos (Dos arquivos que compõem o
projeto e não gerencia de projetos em si)
● Suporte a Softwares de controle de versão
● Refactoring
● Deploy, Unit Tests, Ferramentas Case embutidas, etc.
5. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores
Diferente dos IDEs, os editores normalmente possuem
suporte a realce de sintaxe e auto-complete apenas,
dependendo do editor, pode-se habilitar módulos (plugins)
que torna-os tão completos como IDEs.
Muitos programadores preferem usar editores em vez de
IDEs devido ao fato de os editores consumirem menos
recursos de hardware do equipamento utilizado.
6. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores – PDT – PHP Development Tool
Os princípios do PDT são:
aprendizado fácil e intuitivo;
Integração sem remendos com o WTP;
Aderência ao padrão Eclipse;
Capacidade de extensão;
Apoio contínuo de desenvolvedores PHP.
Baseado no eclipse, é um projeto apoiado pela Zend
Technologies e IBM.
Atualmente, é o IDE Open-Source para PHP mais completo,
estável e funcional. A versão atual é a PDT 1.0 M1 e está
previsto o lançamento da release 1.0 estável em Setembro
de 2007.
7. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores – PDT – PHP Development Tool
Demonstração
8. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores – PHP Eclipse
Primeiro grande projeto baseado no eclipse voltado ao PHP
Período longo entre as releases
9. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores – gPHPEdit
Simples editor baseado no gedit, comum em distribuições
linux que utilizam o gerenciador de janelas GNOME.
Demonstração
10. Ferramentas livres para desenvolvimento com PHP
IDEs e Editores – jEdit
Editor inicialmente criado para desenvolver em JAVA, porém,
por ser de fácil extensão, diversos plugins foram criados
para ele, inclusive um plugin para PHP que permite realce de
sintaxe e autocomplete.
É possível utilizar um plugin para CVS no jEdit.
Ainda não foi desenvolvido um plugin para jEdit que permita
o uso do subversion.
11. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Programadores PHP possuem diversas opções de framework e
bibliotecas de classes livres para utilizarem em seus projetos.
Falaremos sobre os principais projetos.
12. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Framework
É um conjunto de classes com objetivo de reutilização de um
design, provendo um guia para uma solução de arquitetura em
um domínio específico de software.
Qual a diferença entre biblioteca de classes e
framework?
Biblioteca de classe apenas oferece uma implementação de
funcionalidades.
13. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PEAR – PHP Extension and Application Repository
É o repositório de classes mais popular atualmente. Neste
repositório pode-se encontrar classes com funcionalidades
diversas. Algumas classes possuem dependências de outras
classes que compõem o PEAR.
● O Instalador do PEAR vem no pacote do PHP
● Instalação simples
● Interfaces em linha de comando, Web e PHP-GTK
14. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PEAR – Estatísticas
Atualmente, o PEAR conta com 453 pacotes de bibliotecas em
45 categorias, já foram lançadas 3227 releases desses
pacotes, possui 349 mantenedores desses pacotes e já foram
realizados cerca de 30,036,033 downloads.
● Desenvolvedores podem propor novos pacotes
● Desenvolvedores podem participar do desenvolvimento de
pacotes já existentes
15. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PEAR – Estatísticas – Pacotes mais populares
XML_RPC
PEAR
DB
Net_Socket
Mail
Net_SMTP
XML_Parser
Archive_Tar
Console_Getopt
Log
16. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PRADO
É um framework para PHP 5 baseado em componente e
s
eventos o que o torna similar ao ASP.NET
Criado por Qiang Xue, o PRADO foi inicialmente inspirado no
projeto Apache T apestry
Foi vendedor de um concurso realizado pela Zend Technologies
na época do lançamento do PHP 5
17. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PRADO
Demonstração
18. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Symfony
É um framework para desenvolvimento com PHP5.
Possue uma estrutura que lembra o Ruby on Rails.
Utiliza diversos componentes que já são conhecidos no mundo
PHP como Creole, Propel e etc.
19. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Zend Framework
É aposta da Zend em conjunto com diversas empresas e
programadores de vários locais do mundo.
Baseado em componentes
A Princípio permite que os componentes sejam utilizados em
conjunto ou separados.
Implementa diversos padrões de projetos e visa a simplicidade
e produtividade.
20. Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Zend Framework
Demonstração
21. Ferramentas livres para desenvolvimento com PHP
Debbugers
APD – Advanced PHP Debugger
É uma 'Zend Extension' ou seja, permite modificar a maneira
com a qual as funções internas do PHP são manipuladas.
Com isso nem sempre é compatível com outras Zend
Extensions, por exemplo, Zend Optimizer e Xdebug.
Desenvolvido para prover a capacidade de realizar profiling e
debug de códigos PHP.
Permite o debug iterativo porém por padrão ele gera arquivos
que permite-se rastrear gargalos no código.
22. Ferramentas livres para desenvolvimento com PHP
Debbugers
PHP - Dbg
Teve sua primeira Build no ano 2000 e já foi o mais popular
debbuger para PHP.
Atualmente possui uma versão Open Source e uma versão
comercial, sendo que a versão comercial é bem mais completa
que a versão open-source.
A funcionalidade de profiling é exclusiva da versão comercial,
que já vem embutida no IDE PhpED da empresa NuSphere.
23. Ferramentas livres para desenvolvimento com PHP
Debbugers
XDebug
É o Debugger para PHP que mais se populariza atualmente.
É uma Zend Extension e permite o debug interativo, profiling e
integração com diversos Editores e IDES comerciais ou free
software.
25. Ferramentas livres para desenvolvimento com PHP
Debbugers - Profiling
Alguns debugger para PHP geram arquivos de profiling, ou
seja, nos permite visualizar o fluxo de um código PHP a ponto
de identificarmos os possíveis gargalos destes.
Para visualizarmos graficamente todo esse fluxo, necessitamos
utilizar um programa que interprete estes arquivos.
Em ambiente windows, pode-se utilizar o WinCacheGrind e
para ambientes linux, pode-se utilizar o KCacheGrind.
Apesar de terem funcionamento semelhante, o KCacheGrind
possui algumas funcionalidades a mais.
27. Ferramentas livres para desenvolvimento com PHP
Controle de versão - CVS
CVS ou Concurrent Version System
É especialmente útil para se controlar versões de um software
durante seu desenvolvimento, ou para composição colaborativa
de um documento.
Lançado como código aberto em 1986 e atualmente é mantido
por um grupo de voluntários.
Possui plugins que permitem a integração com a maioria das
IDEs e Editores disponíveis atualmente.
É o sistema de controle de versão mais usado atualmente mas
tem perdido espaço para o Subversion (SVN).
28. Ferramentas livres para desenvolvimento com PHP
Controle de versão - SVN
Subversion
Subversion (também conhecido por svn ou SVN, o nome da sua
ferramenta de linha de comando) é um sistema de controle de
versão desenhado especificamente para ser um substituto
moderno do CVS
Foi desenvolvido com a intenção de implementar algumas
deficiências encontradas no CVS porém tendo em mente que a
migração fosse menos traumática possível, por isso a maioria
dos comandos são bastante similares aos do CVS.
Da mesma forma que o CVS, possui diversos plugins que
permitem a integração com a maioria dos Editores e IDEs
disponíveis no mercado.
29. Ferramentas livres para desenvolvimento com PHP
Bug Tracking / Issue Tracker
Ferramentas que permitem gerenciar problemas com o
desenvolvimento como bugs, etc.
Trac
Ferramenta que permite integração com o subversion e com o
servidor web apache.
Possui wiki interno que permite um melhor gerenciamento do
projeto.
Esta ferramenta é uma das mais utilizadas atualmente.
30. Ferramentas livres para desenvolvimento com PHP
Bug Tracking / Issue Tracker
Outros sistemas de bug tracking
- Eventum
- Mantis
- Gforge
31. Ferramentas livres para desenvolvimento com PHP
Bug Tracking / Issue Tracker
Trac
Demonstração
34. Ferramentas livres para desenvolvimento com PHP
Obrigado pela atenção!
http://www.neshertech.net/adler
http://www.neshertech.net
http://www.phpdf.org.br
http://www.x25.com.br