Advocates of different PHP development frameworks squared off in a debate of sorts Thursday, with each touting the merits of their particular entrant.
Frameworks represented during a panel discussion at the Zend/PHP conference in San Jose include Agavi, CakePHP, CodeIgniter, Symfony and Zend Framework.
[ Earlier this week, PHP 6 plans were revealed at the conference. ]
Agavi, said David Zulke, lead developer of the framework and managing director of the Bitextender consulting firm, started out as a fork of the Mojave framework. It offers such capabilities as validation and font-handling but does not have scaffolding for generating a data model for an application. Developers can take an existing Web application and put a REST or SOAP layer on it. Zulke stressed the importance of structure for development, saying, "I think it's the responsibility of the framework to give us structure for projects."
CakePHP can be used by people with limited development experience, said Nate Abele, lead developer of the project.
"I guess what I would say is special about CakePHP is I think we've succeeded by being very context-aware," Abele said. "We've always prided ourselves on presenting high-level programming concepts in a very accessible way."
The advocate for CodeIgniter shared similar sentiments.
"I feel that CodeIgniter is something that's very easy to pick up," said Ed Finkler, Web developer and security researcher at Purdue University. CodeIgniter provides a nice base that is easy to deploy, and it tends to be fast because of dynamic loading, he said. CodeIgniter, however, may not be the best choice for developing a large, complex application, Finkler said. It is better suited for small and midrange projects.
Symfony, meanwhile, is a French-developed MVC framework boasting security capabilities, said Fabien Potencier, lead developer of Symfony and CEO of Sensio, a Web development firm focused on open source technologies.
"If you like French food, if you like French wine, I think you will definitely love Symfony," Potencier said. "We have [a] strong focus on security. We try to be as secure as possible by default," he said, noting that protection is offered against cross-site scripting issues.
"Symfony is used to build the largest Web sites in the World," such as Yahoo, said Potencier.
Zend Framework differs from alternatives because developers do not have to use MVC, said Matthew Weier O'Phinney, project lead for Zend Framework. "We encourage unit testing, and we encourage documentation of our code," O'Phinney said.
Zend Framework comes into play when using other frameworks, he said. "The way I look at it is you're probably using Zend Framework even if you're using all the others," said O'Phinney.
Framework advocates also offered insight into plans for supporting PHP 5.3, which adds capabilities like namespaces to improve code organization.
Zend Technologies, which develops Zend Framework, is pondering the addition of 5.3 backing for the planned 2.0 release of the framework, O'Phinney said. That release could come out at the end of next year, according to Zend CEO Andi Gutmans.
A complete rewrite of CakePHP was begun a year ago based on PHP 5.3, implementing naming conventions. "We'll all have these common naming conventions and we're actually the first ones to implement it," Abele said.
Symfony 2.0 will not feature PHP 5.3, Potencier said, citing concerns over when users would be ready for it."Symfony is used by many big companies, and a lot of them can't afford to upgrade to the latest versions of PHP," he said.
"It will take a lot of time for them to upgrade to PHP 5.3," said Potencier.
But Zulke disagreed with Potencier's approach. "PHP 5.3, first of all, it's a big milestone," said Zulke. "It gives actual benefits, and I think the rate of adoption will be much higher than with 5.2 and 5.1"