CakePHP: MVC para PHP
Jess Espino u
8 de Noviembre del 2007
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
1 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 2 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 3 / 31
Qu es? e
Framework de desarrollo web.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
4 / 31
Qu es? e
Framework de desarrollo web. Inspirado en Ruby on Rails.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
4 / 31
Qu es? e
Framework de desarrollo web. Inspirado en Ruby on Rails. Aparece en el 2005 cuando esta en auge RoR.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
4 / 31
Qu es? e
Framework de desarrollo web. Inspirado en Ruby on Rails. Aparece en el 2005 cuando esta en auge RoR. Sistema MVC.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
4 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 5 / 31
Por qu usarlo? e
Es PHP : ) Simplica y agiliza el desarrollo. Aumenta la escalabilidad. Organiza mejor nuestro codigo. Aade de manera sencilla caracteristicas complejas (validacion, n autenticacion, ajax...). Esta bien documentado.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
6 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 7 / 31
Por qu no usarlo? e
Es PHP : ( Existen cosas mas potentes (RoR). Sentimiento de perdida de control. Orientado a sistemas con BBDD.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
8 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 9 / 31
Como funciona?
Arquitectura MVC:
Modelo: Acceso a los datos (BBDD). Vista: HTML que se muestra al usuario (Plantillas). Controlador: Logica de programa (PHP).
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
10 / 31
Como funciona?
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
11 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 12 / 31
Scaolding
Generacion automatica de codigo. Util y practico, pero no denitivo.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
13 / 31
Ejemplo
BBDD CREATE DATABASE charlacake; CREATE TABLE to_dos(id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(100), description VARCHAR(255), finished BOOLEAN); Controlador <?php class ToDoController extends AppController { var $scaffold; } ?>
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 14 / 31
Ejemplo
Modelo <?php class ToDo extends AppModel { var $name = ToDo; var $displayField = title; } ?>
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
15 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 16 / 31
El modelo
Convierte las tablas en objetos PHP. Simplica el acceso a los datos (Buscar, modicar, crear...). Dene las relaciones entre tablas (1:1, 1:N, N:M).
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
17 / 31
Ejemplo
<?php class ToDo extends AppModel { var $name = ToDo; } ?>
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
18 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 19 / 31
El controlador
Dene las acciones de nuestra aplicacion (borrar, editar, ver...). Nos permite dirijir el ujo del programa (Redirecciones, Flashes...). Acceso a la informacion (Cookies, sesiones, formularios...).
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
20 / 31
Ejemplo
<?php class ToDoController extends AppController { var $name = ToDo; function index() { $this->set(todos, $this->ToDo->findAll()); } } ?>
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
21 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 22 / 31
La vista
Plantillas de codigo HTML con PHP empotrado. El PHP accede a los datos pasados por el controlador. El resultado es la aplicacion de los datos a la plantilla.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
23 / 31
Ejemplo
<h1>Tareas pendientes</h1> <table> <tr> <th>Id</th> <th>Titulo</th> <th>Descripcion</th> <th>Hecha</th> </tr> ...
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
24 / 31
Ejemplo
... <?php foreach ($todos as $todo): ?> <tr> <td><?php echo $todo[ToDo][id]; ?></td> <td><?php echo $html->link($todo[ToDo][title], "/todos/view/".$todo[ToDo][id]); ?></td> <td><?php echo $todo[ToDo][description]; ?></td> <td><?php if($todo[ToDo][finished]) {echo "si";}else{echo "no";} ?></td> </tr> <?php endforeach; ?> </table>
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 25 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 26 / 31
Qu se nos queda en el tintero? e
Validacion de campos en formularios. Gestion de Sessiones y Cookies. Convenciones. Componente de seguridad.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
27 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 28 / 31
Referencias
[Link] Pagina ocial de CakePHP. [Link] Sistema de gestion de proyectos CakePHP. [Link] Documentacion variada sobre CakePHP. [Link] Documentacion principal de CakePHP.
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
29 / 31
Indice
1
Introduccin o Qu es? e Por qu usarlo? e Por qu no usarlo? e Como funciona? Trabajando con Cake Scaolding El modelo El controlador La vista Para terminar Qu se nos queda en el tintero? e Referencias Dudas
Jess Espino (GUL UC3M) u CakePHP: MVC para PHP 8 de Noviembre del 2007 30 / 31
Dudas
...
Jess Espino (GUL UC3M) u
CakePHP: MVC para PHP
8 de Noviembre del 2007
31 / 31