Aca les dejo, como para que vayan pensando, cual es mi idea de una framework que marque la diferencia.
El concepto y la idea de esta framework no es tratar de sobresalir del resto, sino mas bien tratar de unificar a las principales frameworks. Eso es lo que necesita PHP en este momento, una framework que unifique lo mejor de otras. Que PHP tenga una sola framework, como Rubi, y que esa framework sea lo suficientemente flexible como para incorporar lo mejor de otras. El dia que alguien invente eso y lo haga open source, PHP va a salir de la coma en la que entro hace 1 anios atras.
Este es mi consejo y solucion al problema.
1er Mandamiento: Unificar, todos para uno y uno para todos.
Código PHP:
- PHP >= 5
- MVC
|_ Controller (Compatible con Zend, PEAR y eZComponents)
|
|_ ModuleBase
| |_ Module
|
|_ ComponentBase
| |_ Component
|
|_ PluginBase
| |_ Plugin
|
|_ Helpers
|
|_ ComponentParser: Nos permite importar componentes de otras frameworks
|_ PluginParser: Concepto similar al Plug and play
|_ ModuleParser: Administra los modulos
- Database
|_ Active Record Pattern
|_ Access layer: mysqli, pdo y/o adodb
(*) Finalmente dejamos de lado mysql driver, ya que trabajamos con versiones de PHP > 5
- Templates
|_ Template: Similar al usado en Zend
|_ TemplateInterface: Permite implementar xTemplate, PHPLibTemplate y el enemigo publico num. 1 (Smarty)
- Caching
|_ Cache: Hay muchos buenos, pero se puede adaptar la clase de Richard Heyes (phpguru.org)
que es simple y muy buena.
- Validation
|_ Validate: El mejor invento hasta ahora se encuentra en CakePHP, se puede portar tranquilamente.
Para validar por el lado del cliente, recomiendo la libreria wForms (javascript)
- Debug: Aca hay que inovar, tiene que ser poderoso. Por el momento no hay nada que sea publico digno de usar.
- Error Handler: Mantener el mismo sistema que utiliza PEAR, Zend, eZComponents, etc.