Introducción al Framework CakePHP

8:00 Octubre 30th, 2009 por lobo lobo

Logo CakePHP

Logo CakePHP

Para empezar típicamente, dedico las siguientes líneas a describir en lo que consiste el Framework CakePHP.

CakePHP es un framework de desarrollo rápido en PHP que provee una arquitectura extensible para el desarrollo, mantenimiento y producción de aplicaciones. Usando los patrones de diseño MVC y ORM, CakePHP reduce los costes de desarrollo y ayuda a los desarrolladores a escribir menos líneas de código.

Actualmente, están por la versión 1.2.5 estable, aunque ya están en desarrollo de la 1.3.

Esta es una lista breve con las características de las que disfrutarás al utilizar CakePHP:

  • Comunidad activa y amistosa
  • Licencia flexible
  • Compatible con PHP4 y PHP5 (mejor con PHP4)
  • CRUD integrado para la interacción con la base de datos
  • Soporte de aplicación [scaffolding]
  • Generación de código
  • Arquitectura Modelo Vista Controlador (MVC)
  • Despachador de peticiones [dispatcher], con URLs y rutas personalizadas y limpias
  • Validación integrada
  • Plantillas rápidas y flexibles (sintaxis de PHP, con ayudantes[helpers])
  • Ayudantes para AJAX, Javascript, formularios HTML y más
  • Componentes de Email, Cookie, Seguridad, Sesión y Manejo de solicitudes
  • Listas de control de acceso flexibles
  • Limpieza de datos
  • Caché flexible
  • Localización
  • Funciona en cualquier subdirectorio del sitio web, con poca o ninguna configuración de Apache

El sistema operativo sobre el que lo haremos será, por supuesto, Linux.

Partimos del supuesto de que ya se tiene instalado el Apache2 y PHP. En nuestro caso, hemos hecho un enlace simbólico en la carpeta /var/www/ hacia /home/usuario_cualquiera/public_html/ y serán en este último directorio donde se trabajará todo.

Empezamos descargandonos el framework. Lo puedes hacer desde aquí. Tras descargar y extraer CakePHP, estos serán los ficheros y carpetas que deberías ver:

  • app
  • cake
  • vendors
  • .htaccess
  • index.php
  • README

Observarás 3 carpetas principales:

  • La carpeta app será donde haremos nuestra magia: es donde se ubicarán los ficheros de tu aplicación.
  • La carpeta cake es donde los desarrolladores han hecho su magia.
  • Finalmente, la carpeta vendors es donde ubicarás las librerías PHP de terceros que necesites usar con tus aplicaciones en CakePHP.
Vamos a explicar con más detalle el contenido de la carpeta /app/

La carpeta App es donde se hará la mayor parte del desarrollo de su aplicación. Veámos un poco más de cerca las carpetas dentro de App.

config
Mantiene los (pocos) archivos de configuración que CakePHP usa. Detalles de conexión a bases de datos, arranque [bootstrapping], archivos de configuración del núcleo y más deberían ser almacenados aquí.
controllers
Contiene los controladores de tu aplicación y sus componentes.
locale
Almacena archivos de cadenas para la internacionalización.
models
Contiene los modelos de su aplicación, comportamientos [behaviors], y orígenes de datos [datasources].
plugins
Contiene los paquetes de plugins
tmp
Aquí es donde CakePHP almacena información temporal. La información que actualmente se almacena depende en cómo haya configurado a CakePHP, pero esta carpeta es usualmente usada para almacenar descripciones de modelos, registros [logs], y algunas veces información de sesiones.
vendors
Cualquier grupo de clases o librerías de terceros debería ser ubicado aquí. Hacerlo así hace que sean más fáciles de acceder a ellas usando la función App::Import(’vendor’). Los observadores meticulosos notarán que esto parece redundante, ya que también existe una carpeta vendors en el nivel superior de nuestra estructura de directorios. Entraremos en las diferencias entre las dos cuando discutamos acerca de la administración de múltiples aplicaciones e instalaciones más complejas.
views
Los archivos de presentación son ubicados aquí: elementos [elements], páginas de error, ayudantes [helpers], layouts y archivos de vistas.
webroot
En una configuración de producción, esta carpeta debería servir como la raíz del sitio [document root] para su aplicación. Las carpetas aquí también sirven como lugares de almacenamiento para hojas de estilo en cascada [CSS stylesheets], imágenes y archivos JavaScript.

Muy bien, dicho tooodo esto, empecemos con la instalación para un proyecto cualquiera.Para ello crearemos un directorio en nuestro public_html llamado, por ejemplo, ‘aplicación’. En este directorio meteremos la estructura de archivos que nos hemos descargado (recuerda, 3 carpetas y un index.php).

Ahora, abriremos nuestro navegador e iremos a http://localhost/nuestro_usuario/aplicacion

Oopps!! los primeros problemas!!, tenemos que modificar los permisos de la carpeta /app/tmp/ y todos sus archivos y subdirectorios. Para esto podemos ejecutar el siguiente comando desde el directorio /home/nuestro_usuario/aplicacion/app/

sudo chmod -R 777 *

Ahora, refrescamos el navegador y ya sí podemos ver bien la pantalla de inicio del Framework CakePHP. Como nos indican las instrucciones del Cake, debemos empezar creando 2 archivos

  • /home/nuestro_usuario/aplicacion/app/views/pages/home.ctp
  • /home/nuestro_usuario/aplicacion/app/views/layouts/default.ctp

En este útlimo es donde pondremos la estructura HTML para nuestro layout por defecto.

Hasta aquí una primera introducción al CakePHP, espero que os sirva de algo y que empecéis a cacharrear un poco con él. Realmente es un framework muy sencillo de manejar, bastante potente y con el que desarrolla rápido un sistema de gestión Web con PHP.

Suerte!

Descargar CakePHP Framework: cakephp.org/downloads

Documentación en Español: book.cakephp.org/es

API de programación: api.cakephp.org

 

Tags: , , , , , , ,

Deja un comentario



Buscador

Gmail en Google Wave

Gmail en Google Wave
Tira Ecol

Validaciones

Valid XHTML 1.0 Transitional

¡CSS Válido!

[Valid RSS]