Instalando cakephp 1.2
Hace bastante tiempo que estoy usando este framework, cakephp está inspirado en rails y plantea ser un framework de desarrollo rápido de aplicaciones web para php.
Me toca en este momento actualizar a la versión 1.2. La versión 1.1 es la versión estable desde hace tiempo, pero la nueva 1.2 es un beta que podría ser considerado “la versión oficial impuesta por el uso”. Muchos sitios están usando cake 1.2 y no es el objetivo de este post hablar de cake, sino documentar mi experiencia del paso de 1.1 a 1.2.
La versión 1.2 trae muchas características nuevas, incluyendo algunas que a veces son totalmente necesarias, como internacionalización (i18n) y localización (l10n).
Entre las más notables entonces tenemos:
- Mejoras en la validación: se agregan reglas para validación automática como alfanumérica, email (brillaba por su ausencia), url (idem), y en definitiva se provee de métodos de validación mucho más completos (por ejemplo la validación “custom” que nos permite usar expresiones regulares. La lista es gigante, y puede encontrarse aqui.
- Mejoras en el manejo de caché: cake 1.1 tiene un sistema básico de cache que es ampliado enormemente en la versión 1.2. Ahora podemos elegir entre distintos métodos de caching, e incluso cambiarlos dinámicamente.
- Soporte para temas: ahora es muy fácil asignar distintos grupos de vistas y crear temas totalmente distintos.
- Se agrega una consola cake, desde la cual ejecutamos el nuevo script bake, que está bastante mejorado.
- Se incluye una suite de testing que en estos días es un requerimiento más para el desarrollo.
- Facilidades para generación de rss y xml
- paginación: directamente en el core de cake.
- Mejoras en autenticación
- Componente email: para generar emails facilmente y desde templates.
- Mejoras en los helpers, se mueven funciónes para mejorar cohesión y se agrega funcionalidad a los helpers existentes.
- Manual! si, cake 1.2 sale con un manual completito y bastante bueno cuya versión beta está temporalmente aca
Bueno, suficiente por ahora sobre lo nuevo. instalemos cake:
Primero lo primero, yo tengo la siguiente estructura de directorios:
~/cake_1.2 : aqui va la ultima version de cake 1.2 ~/public_html : aqui crearemos el nuevo sitio.
entonces, estando en ~/cake_1.2/cake/console tenemos el nuevo script cake que es la consola de la que hablaba antes.
cd ~/cake_1.2/cake/console
lo ejecutamos, queremos especificar que vamos a usar el comando bake, y queremos crear un sitio en ~/public_html
./cake -app ~/public_html/demosite bake
Luego nos hace preguntas sobre nuestro sitio, y en general los defaults estan bien, asi que le damos enter, enter, y ya tenemos nuestro sitio. Y si vamos al browser (con apache instalado y userdirs andando) a http://localhost/~nuestro_login/demosite deberiamos ver la bienvenida de cake. Yo lo tengo configurado como subdominio, asi que entro como demosite.localhost. Como sea que tengamos nuestro servidor de desarrollo, al ir al sitio vemos la bienvenida de cake:
Sweet, “Demosite” got Baked by CakePHP!
Si todo está bien, vemos mensajes de confirmación sobre
- el directorio tmp (Your tmp directory is writable.)
- el cache (The FileEngine is being used for caching. To change the config edit APP/config/core.php)
- la base de datos (Your database configuration file is NOT present.)
Claro que todavia no seteamos la base de datos, para esto, creamos la db y usuario con nuestra herramienta preferida, volvemos a la consola y tipeamos nuevamente:
./cake -app ~/public_html/demosite bake
Y nos pregunta sobre la base de datos (de forma más bonita que el 1.1), le ponemos
name: default,
driver: en mi caso mysql o postgres, el que usemos en el servidor de prueba.
persistent connection: lo que corresponda segun sus necesidades, yo le pongo no
database host: localhost o el servidor de bases de datos que corresponda
port: n usa el puerto default
user y password: lo que corresponda aqui.
Si todo sale bien, vemos un mensaje de confirmación y cuando refrescamos el sitio nos dice “Your database configuration file is present.” y “Cake is able to connect to the database.”
En este momento tenemos el sitio básico de cake funcionando y conectado a la db. Es muy parecido a la version 1.1 pero a mi me resultó un poco más cómodo tener el CAKE_CORE_PATH bien configurado por bake :)
Con esto terminamos la instalación básica de cakephp 1.2 que no es mucho más que hacerlo con la 1.1 y ya podemos empezar a crear nuestro sitio.
Como conclusión, no es muy distinto de instalar cake 1.1 solo que el nuevo bake es más inteligente.
Popularity: 6% [?]
Estuve usando