CakePHP es un framework que nos permite crear aplicaciones en PHP de una manera fácil y rápida. Como implementa el modelo MVC se verán algunas características de CakePHP:
User → users UserFriend → user_friends UserFriendTag → user_friend_tags
CakePHP también necesita que para cada tabla exista una llave primaria que se llame: id, en caso de tener un id de otra tabla (llave foránea) deberá llamarse: nombre_tabla_id (en singular) por tanto estas dos tablas están ligadas:
CREATE TABLE users ( id INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT, login VARCHAR(50) NOT NULL, /* más datos ... */ UNIQUE(login), INDEX(login) ); CREATE TABLE articles ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT title VARCHAR(60) NOT NULL, user_id INT UNSIGNED /* ID del autor */ /* más datos ... */ );
nombre_controller.php y debe crear una clase que extienda a: AppController con el nombre del controlador y agregando Controller, por ejemplo del ejemplo anterior si creamos dos controladores uno para /user y otro para /article, entonces tendremos:/user/... → user_controller.php → UserController extends AppController /article/... → article_controller.php → ArticleController extends AppControllerAunque esto puede ser alterado se sugiere que se siga el estilo para no causar confusiones. Dentro del controlador nosotros definiremos qué modelos usaremos y escribiremos código para manejar los parámetros que se nos pasen y preparar la salida para la vista.
func_get_args(); para evitar advertencias de parámetros no definidos).Article tendrá un acción view (ver) y otra add (agregrar), y el controlador User tendrá una acción register, login y por último una acción forgotPassword (password olvidado) entonces tendremos:Directorio: views/user (controlador User) Archivo: views/user/register.thtml (User::register) Archivo: views/user/login.thtml (User::login) Archivo: views/user/forgot_password.thtml (User::forgotPassword) Directorio: views/article (controlador Article) Archivo: views/article/view.thtml (Article::view) Archivo: views/article/add.thtml (Article::add)Las vistas se escribirán en HTML con pedazos de código en PHP como se ha hecho, pero con la excepción de que (aunque es posible) NUNCA se manden a llamar funciones que hemos implementado en partes del controlador o del modelo. De esta manera la vista sólo debe de mostrar y formatear las variables que se le asignan.
Estas son las reglas básicas para generar un sistema en CakePHP