Advertisement
  1. Code
  2. PHP

Guía de inicio de CakePHP

by
Read Time:6 minsLanguages:

Spanish (Español) translation by Ana Paulina Figueroa Vazquez (you can also view the original English article)

CakePHP es un framework de código abierto para PHP cuyo objetivo es facilitar mucho más el desarrollo, la implementación y el mantenimiento de aplicaciones. CakePHP ofrece muchos patrones de diseño útiles, como el patrón Modelo-Vista-Controlador, que se puede ver en otros frameworks populares como Ruby On Rails. El framework CakePHP también proporciona una gran cantidad de valiosas bibliotecas reutilizables para tratar con tareas comunes. Un ejemplo es "Inflector" (una rutina que toma una cadena y gestiona la pluralización).

Esta guía intentará orientarte hacia la dirección correcta para que puedas comenzar con CakePHP y, eventualmente, desarrollar tus propias aplicaciones usándolo.

Paso 1: ¿por qué CakePHP?

Una cantidad significativa del tiempo de desarrollo con PHP se dedica a reescribir código común para operaciones de rutina, como el acceso a la base de datos o la devolución de datos al navegador. Desde luego, todo este código de rutina puede desorganizarse rápidamente en las aplicaciones PHP tradicionales. Lo que se necesita es un framework para PHP que haga lo que Ruby On Rails hizo por Ruby.

CakePHP ha existido por un tiempo y hace exactamente eso. Este proporciona una serie de bibliotecas útiles en apoyo a las tareas comunes, e incluye servicios para organizar el código en carpetas y asociar el código con archivos. Como resultado, el tiempo que se dedica a escribir y a organizar el código se reduce considerablemente.

A continuación se presentan solamente algunas cosas que CakePHP ofrece para facilitar el desarrollo.

  • Una licencia MIT gratuita y de código abierto, lo que te permite usar aplicaciones de CakePHP en cualquiera de tus propios proyectos.
  • Compatibilidad con PHP4 y PHP5. La versión mínima necesaria es la 4.3.2.
  • Compatibilidad con MySQL, PostgreSQL, SQLite, PEAR-DB y contenedores para ADODB, una biblioteca de abstracción de bases de datos.
  • El diseño Modelo-Vista-Controlador.
  • Una sencilla interacción CRUD (crear, leer, actualizar y borrar, del inglés Create, Read, Update y Delete) con la base de datos.
  • Andamiaje para ahorrar tiempo de producción.
  • URLs compatibles con los motores de búsqueda.
  • Herramientas de validación y desinfección de entradas, para que tus aplicaciones sean mucho más seguras.
  • Plantillas con una sintaxis de PHP familiar.
  • Operaciones de almacenamiento en caché.

Paso 2: descarga el framework

Antes de que comiences a desarrollar con CakePHP, necesitarás tener tu propia copia del framework cargada en tu servidor. Visita CakePHP.org y haz clic en el botón grande que dice "Download" ("Descargar"). Asegúrate de descargar la versión estable y no la versión candidata. También hay muchos formatos de archivo diferentes disponibles para que puedas elegir el mejor para tu computadora.

Paso 3: cargando y comprendiendo la estructura de archivos

Una vez que tengas tu nueva copia de CakePHP, el siguiente paso es cargar la copia a un espacio web habilitado para el uso de PHP y MySQL. Yo recomendaría crear un directorio nuevo para los proyectos de CakePHP.

Una vez que la carga haya finalizado, la estructura del directorio debería verse más o menos así:

Todos estos directorios o carpetas podrían parecer un poco abrumadores al principio, pero los diferentes directorios están destinados a organizar mejor todos los componentes del framework. Dado que los nombres como "tmp" no son lo suficientemente claros, aquí puedes ver para qué son estas carpetas:

  • La carpeta cake almacena todas las funciones básicas y el contenido de CakePHP. Por lo general no necesitarás editar nada aquí.
  • La carpeta docs tiene muy poco, pero contiene la información de la licencia (COPYING.txt), un registro de cambios y algunos otros archivos útiles. Este directorio no es importante para que CakePHP se ejecute, así que puedes eliminarlo si lo deseas.
  • La carpeta app es en donde irá el código de tu aplicación. La carpeta app contendrá tus controladores, tu configuración, tus plantillas y mucho más.
    • La carpeta config contiene todos los archivos de configuración de la aplicación. Esto incluye detalles de la base de datos, la lista de acceso, inflexiones y rutas (reescritura de URL).
    • La carpeta models almacena toda la funcionalidad de la base de datos sql para tu aplicación.
    • La carpeta views almacena todas las plantillas, diseños (encabezado, pie de página) y módulos auxiliares que ayudan con la funcionalidad (como AJAX).
    • La carpeta controllers almacena todos los controladores de tu aplicación. Un controlador es la parte de la aplicación que dirige y controla al modelo y a las vistas, aceptando la entrada y decidiendo qué hacer con ella.
    • La carpeta plugins almacena complementos, que son una combinación de modelos, vistas y controladores que pueden empaquetarse y ser usados en otras aplicaciones. Algunos ejemplos son los módulos de gestión de usuarios o un módulo RSS.
    • La carpeta tmp almacena archivos de caché generados por el sistema de almacenamiento en caché y también almacena registros de depuración. Esta carpeta será muy valiosa durante el desarrollo.
    • La carpeta vendors puede contener otras bibliotecas que quieras incluir en una aplicación en particular.
    • La carpeta webroot almacena medios estáticos, como CSS, imágenes y el código JavaScript que tu aplicación necesita.
  • El segundo directorio vendors te permitirá almacenar bibliotecas de terceros y conectarte a ellas desde tus controladores de CakePHP. Por ejemplo, si quisiéramos crear una aplicación de Facebook con CakePHP, podríamos colocar ahí la biblioteca de Facebook y configurar CakePHP para que la cargue.

Paso 4: configurando CakePHP

La configuración de CakePHP es bastante sencilla. Solo necesitamos indicar los detalles de nuestra base de datos a CakePHP y configurar la manera en la que queramos que trabaje la funcionalidad principal.

Para propósitos de desarrollo deberías crear una nueva base de datos y un usuario con los siguientes privilegios: ALTER, CREATE TEMPORARY TABLES, CREATE, DELETE, DROP, SELECT, INSERT, UPDATE, REFERENCES, INDEX, LOCK TABLES.

Una vez que el usuario y la base de datos se hayan creado, podemos encontrar el archivo de configuración de la base de datos de CakePHP, localizado en /app/config/database.php.default.

Ábrelo y desplázate hacia abajo al siguiente arreglo

y escribe los detalles de tu base de datos según sea necesario. Si por alguna razón no puedes crear una nueva base de datos, o si tu proveedor de alojamiento no lo permite, puedes establecer un prefijo de tabla para todas tus tablas de CakePHP estableciendo un valor en el índice 'prefix'. Asegúrate de cambiar el nombre de este archivo a /app/config/database.php.

Existen más configuraciones básicas, y se localizan en /app/config/core.php. Puedes cambiar el nivel de información de depuración, la forma en la que se almacenan las sesiones, los tiempos de espera de las sesiones por razones de seguridad y el nombre de las cookies. Una vez que comencemos a desarrollar es posible que necesitemos ajustarlos, pero los valores predeterminados son adecuados para la mayoría de las necesidades.

Paso 5: asegurándote de que funciona

Una vez que hayas escrito los detalles correctos de la base de datos y cargado todos los archivos de CakePHP, la instalación debería estar lista para el desarrollo. Apunta tu navegador a la carpeta en la que hayas cargado la instalación. Si todo está funcionando, deberías ver la siguiente página que indica que todo fue exitoso:

Concluyendo

Este tutorial tuvo como objetivo presentar los fundamentos de CakePHP y cómo ponerlo en funcionamiento en tu servidor. En futuras entregas, veremos el desarrollo de una aplicación desde cero usando CakePHP, la adición de efectos como AJAX y la integración de CakePHP con otras bibliotecas y servicios como Facebook.

  • Suscríbete a la fuente RSS NETTUTS para obtener más tutoriales y artículos diarios sobre desarrollo web.


Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.