¿Qué diferencias existen entre CI y Kohana?
- PHP5: es estrictamente PHP, lo que aporta la programación orientada a objetos.
- El diseño de patrones MVC continua el de CI: por lo que, aunque son diferentes, un usuario de CI no tendrá problemas para adaptarse al de Kohana.
- Dirigido por una comunidad: no por una empresa, una comunidad de desarrolladores puede dar respuestas más rápidas al no estar limitadas por las decisiones de una empresa.
- Los datos GET, POST, COOKIE y SESSION funcionan como se esperan: no se limita su uso, aunque si se ofrece el mismo tratamiento ante ataques XSS que ofrece CI.
- Recursos, modulos y herencia en cascada: los controladores, librerÃas, helpers y vistas pueden ser cargados desde cualquier lugar de la aplicación, del sistema o de módulos. Las opciones de configuración se heredan y pueden ser modificadas dinámicamente por cada aplicación.
- No hay conflictos de nomenclaturas: se usan sufijos en las clases (por ejemplo _Controller) para evitar conflictos.
- Carga automática de clases: las librerÃas, controladores, modelos y helpers no se precargan, sino que se cargan dinámicamente cuando se solicitan.
- Los helpers son clases estáticas y no funciones: en vez de usar form_open() usarÃamos form::open().
- Consistencia en las librerÃas y el API: por ejemplo el almacenamiento de sesiones múltiples existe (BD, cookies, ...), usando interfaces y clases que extienden de ésta, podemos desarrollar en nuestra librerÃas nuevas clases que amplÃen la interfaz y que mantenga la consistencia del API.
- Manejador de eventos: los eventos pueden ser añadidos, modificados o eliminados de forma dinámica, permitiendo cambios en la ejecución de los procesos sin tener que modificar el core.