Hacer un blog en estos tiempos que corren a nivel de programación ya casi es cosa de niños. Los frameworks que están apareciendo para php así lo están demostrando. Uno de los que más me convence es CakePHP. Hoy he estado viéndolo y jugando con él junto con mi hermano. Es admirablemente simple y potente. Se puede usar sin saber mucho de php.
¿Que es CakePHP?
CakePHP, es un framework con el patrón MVC (Modelo Vista Controlador) hecho en PHP. O sea, se trata de un esqueleto o andamiaje que sirve entre otras cosas para crear aplicaciones web con php de manera sencilla. Hay que definir una base de datos, unas tablas, a partir de ahí se definen las vistas de cómo mostrarlo y con unos controladores que nos sirven para la «creación de eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista» según la Wikipedia. Esto nos hace agilizar el desarrollo de aplicaciones con ya múltiples de ejemplos en su wiki y un manual [eng] para empezar a salir del paso. Si manejas un poco php y la estructura MVC, tienes un blog creado en 10 minutos.
¿Cómo instalarlo?
En local podemos empezar a usarlo siguiendo los pasos que apunto a continuación (otra cosa es que funcione plenamente en el servidor de internet, ya que a veces no están actualizados a la versión 5.0 de php; además deben tener activado el mod_rewrite en Apache):
- Instalar alguna aplicación que nos instale un servidor local como EasyPHP o Xampp para Windows. Me he decantado por Xampp, ya que tiene amplias características de seguridad y ya funciona con php 5, aunque en breve también lo hará Easyphp.
- Bajar la última versión de CakePHP. La versión actual es la 1.1.7, y a la espera de interesantes mejoras para la versión 2.0.
- Descomprimir toda la carpeta que hemos bajado en nuestro servidor local dentro de xampp en htdocs\xampp\. Yo lo he renombrado y le he puesto el nombre de Cake.
- Ir al phpMyAdmin y crear una base de datos para operar con este framework, y le he llamado cakephp, para qué complicarme.
- Dentro de Cake debemos hacer la conectividad de la base de datos. Se debe ir a Cake\app\config y ahí hacer una copia del fichero database.php.default y renombrarlos para dejarlo con el nombre database.php. Abrirlo y hacer la conectividad. Situarse a la altura de la clase de database_config, que aparece así:
class DATABASE_CONFIG
{
var $default = array('driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'project_name',
'prefix' => '');
Se debe cambiar en modo local, más o menos como lo tengo puesto:
class DATABASE_CONFIG
{
var $default = array('driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakePHP',
'prefix' => '');
Es decir, es necesario cambiar el login, el password (en este caso no puse nada) y el nombre de la base de datos. - En la configuración de Apache debemos desmarcar el comentario (#) de la siguiente línea en httpd.conf. Originariamente está así:
#LoadModule rewrite_module modules/mod_rewrite.so
Debemos ponerlo sin la almohadilla de comentario:
LoadModule rewrite_module modules/mod_rewrite.so
- Probar que funcione dentro de la ruta del localhost: http://localhost/xampp/Cake; ahí, al principio, debe poner:
Cake is able to connect to database
Después de todo esto ya estaremos listos para funcionar.
- Ir al wiki, en donde hay muchos ejemplos aparte del manual para empezar a crear la «repostería» de mini aplicaciones y otras ya más complejas.
Con esto ya podemos empezar a crear pequeñas aplicaciones y trastear con CakePHP. Espero que os aproveche esta repostería de bizcocho.. 😉
Hola Amigos
Les escribo para presentarles un framework en el que he estado trabajando hace un tiempo. Si otro framework más, pero tiene muchas
cosas interesantes que me gustaría probaran. Este framework lo he usado como parte de las aplicaciones comerciales que desarrollo, pero lo separe
y lo liberé con licencia GNU/GPL, es decir libre para todos.
Inspirado en muchas caractertisticas de rails y siguiendo la línea de Cake, implemente lo siguiente:
– Arquitectura MVC (Modelo, Vista, Controlador)
– Orientado a Objetos en PHP5
– ActiveRecord (ORM Mapeo Objeto Relacional)
– TemplateView (Vistas y algo de Plantillas)
– Generadores de Formularios (Ahorran trabajo y permiten el uso sencillo de grillas)
– Utilizacion de Scriptaculous (Prototype) para AJAX y Efectos Visuales
– Generación de Reportes PDF
y otras cosas más
Tambien he creado algunos screencasts para mostrar el funcionamiento pero necesito hacer otros más.
Igualmente estoy escribiendo un Libro para documentar el framework e incluir algo de tutoriales, esta algo incompleto pero espero les sirva.
El proyecto es software libre los invito a probarlo, utilizarlo y colaborar para mejorarlo.
Se llama Kumbia y esta disponible en http://www.vagoogle.net/kumbia
Saludos
aunque en breve también lo hará Easyphp.
Hablando de *Easyphp* , lo bueno de Easyphp es que es muy sencio de rotocar y siempre te deja accesso a modificar las versiones de php mysql….
para que no esperas que Easyphp te saca una version con el php5, aqui te pongo un metodo para hacerlo manualmente:
Descargas «PHP 5.0.1 zip package»
entras a C:\Archivos de programas\EasyPHP1-7
renombras en fichero PHP
descomprime el php5 package
renombras el php5 package a PHP
lo copias dentro de C:\Archivos de programas\EasyPHP1-7
ya tenemos al php5 instalado lo que falta es retocar el apache para que nos detecte las nueva version
entramos a :
\apache\conf\httpd.conf
abrimos el fichero y cambiamos:
oadModule php4_module «C:/Archivos de programas/EasyPHP1-7/php/php4apache.dll»
por
LoadModule php5_module «C:/Archivos de programas/EasyPHP1-7/php/php5apache.dll».
y en la linia 242 cambiamos
AddModule mod_php4.c
en
AddModule mod_php5.c .
y ya tenemos nuestro EasyPHP con PHP5, suerte y saludos.
*No se olvidan de hacer una copia del lo que van a modificar por si acaso metan la pata 🙂
(TeRreMoto Nuevo portal en camnino interesados que me contacten)
Gracias TeRreMoto lo probaremos a ver si resulta, esto es lo que se llama retroalimentación de un post y que aportas conocimiento a lo dicho por mi.
hola, escribo desde Venezuela, soy principiante con php, y estoy utilizando phpcake, me parece sencillo de utilizar, ya tengo un pequeño sistema de inventario hecho en este framework, pero ahora me pidieron que generara un reporte en formato pdf y no tengo ni idea de como hacerlo…tambien estoy tratando de hacer el acl, pero no logro entender como funciona…cualquiere sugerencia, comentario que me puedan hacer, sera bien recibido…
gracias
Soy marcos de Uruguay, eh seguido todos los pasos al pie de la letra pero no me anda.
Instale xammp, le agregue cake donde indicaste, configure el httdp.conf, agregue el database.php con lo que me indicaste. pero no me funciona, me dice objeto no encontrado:
¡Objeto no encontrado!
El enlace requerido no ha sido localizado en este servidor. Si usted proporcionó el enlace de manera manual le solicitamos que por favor revise los datos e intentelo de nuevo.
Por favor contacte con el webmaster en caso de que usted crea que existe un error en el servidor.
Error 404
localhost
11/09/08 18:48:24
Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6
Te agradezco si me puedes ayudar. Saludos
Tengo el mismo problema que tiene marcos, Error del Servidor!
Se produjo un error interno en el servidor y le fue imposible completar su solicitud. El servidor puede estar sobrecargado, o hubo un error en la ejecución de un programa ‘CGI’.
Por favor contacte con el webmaster en caso de que usted crea que existe un error en el servidor.