Archivo para la categoría ‘PHP’
Tutorial de desarrollo de webs con Kohana (I)
Cuando nos vemos envueltos en el proceso de diseñar y crear páginas web, son muchas las tareas y funciones que se repiten de forma común en cualquier proyecto y que normalmente nos veremos obligados a implementar. Esto supone un coste innecesario en tiempo, pues tendremos que dedicar parte a realizar una tarea que ya hemos realizado en proyectos anteriores. Además, en muchas ocasiones nos encontramos que tenemos que implementar clases y funciones nuevas para dar respuesta a un problema, pero que seguramente alguien ya ha desarrollado antes y que nosotros podremos reutilizar al ser publicadas con licencias libres.
Quizás la solución fácil pasa por copiar la estructura básica y nuestras clases y funciones desarrolladas o importadas cada vez que tenemos un proyecto nuevo que hacer. Pero esto presenta varios inconvenientes, como el arrastrar configuraciones específicas del proyecto padre que no nos servirán para el nuestro, con el consiguiente tiempo en depurar y eliminar lo innecesario.
En este punto, entran en juego los frameworks, que son un avance respecto a las clases. Si bien una clase nos permite abstraer la solución de un problema que podrá reutilizarse en futuros proyectos, un framework añade además la lógica necesaria para combinar varias clases con la forma de representar y tratar los datos de una página web.
¿Qué es Kohana?
Kohana es un framework escrito en PHP que usa el patrón de diseño Modelo Vista Controlador (MVC) y que como características principales destacan que es ligero, seguro, y no ocupa mucho espacio.
Este proyecto se encuentra en la URL http://www.kohanaphp.com
Características
- Altamente seguro
- Extremadamente ligero
- Curva de aprendizaje corta
- Usa el patrón de diseño MVC
- Compatible 100% con UTF8
- Arquitectura de acoplamiento débil (definición, descripción)
- Extremadamente fácil de extender
Tecnología
- Programación estricta en PHP5 orientada a objetos
- Abstracción de la base de datos usando Helpers SQL
- Varios drivers de manejo de sesiones (nativo, bases de datos y cookies)
- Potente manejador de eventos que permiten pequeñas modificaciones dinámicas
- Basado originalmente en CodeIgniter
¿Qué hace a Kohana diferente?
- Gestionado por una comunidad y no una empresa. El desarrollo de Kohana está dirigido por un equipo de personas que necesitan un framework para soluciones rápidas y potentes.
- Estricta programación orientada a objetos bajo PHP5. Ofrece muchos beneficios: protección por visibilidad, carga automática de clases, sobrecarga, interfaces, abstracciones y patrones de instancia única (singleton)
- Extremadamente ligero. Kohana no depende de extensiones de PECL o librerías PEAR. Grandes librerías son descartadas en favor de soluciones optimizadas.
- Los arrays GET, POST, COOKIE y SESSION funcionan de la forma esperada. Kohana no limita el acceso a los datos globales, pero ofrece filtrado y protección XSS.
- Autocarga de clases funcional. Carga de clases bajo demanda, según sean requeridas por la aplicación.
- No hay conflictos en el espacio de nombres. Todas las clases poseen un sufijo para permitir nombres similares entre componentes, para una API más coherente.
- Recursos en cascada. La mayor parte de Kohana puede ser sobrecargada o extendida sin editar los archivos del núcleo. Los módulos permiten plugins multiarchivo que pueden ser añadidos a la aplicación transparentemente.
- Librería de Drivers y consistencia en la API. Las librerías pueden usar diferentes “drivers” para gestionar diferentes APIs externas de forma transparente. Por ejemplo, está disponible varias formas de almacenamiento de las sesiones (bases de datos, cookies, y la nativa de php), pero se usa la misma interfaz para todas ellas. Esto permite el desarrollo de drivers nuevos para librerías existentes, lo que mantiene la API consistente y clara.
- Potente manejador de eventos. Los manejadores de eventos del estilo del observador permiten de forma potencial niveles extremos de personalización.
- Ciclo rápido de desarrollo. Un rápido desarrollo conlleva una rápida respuesta a los bugs encontrados y la nuevas fucionalidades.
¿Me interesa usar Kohana?
Si quieres desarrollar un proyecto web desde cero sin necesidad de crear y programar estructuras básicas, si quieres disponer de una colección de clases y funciones mínimas para realizar varios proyectos web, si no quieres perder el tiempo en desarrollar funcionalidades que ya están implementadas por otros y si lo que quieres es directamente trabajar en tu proyecto en si, ¡te recomiendo Kohana!
¡Y ahora qué!
En este primer artículo hemos visto lo que Kohana nos ofrece. En entregas posteriores iremos abordando temas desde la instalación y puesta en marcha de nuestra primera web en Kohana, pasando por la descripción de todas las funcionalidades incorporadas hasta la creación de un pequeño foro para nuestra web.