7
Convenciones básicas obligatorias para utilizar cakephp una aplicación. Tablas de la base de datos. El nombre de cualquier tabla debe estar en plural, ej: ‘proyectos’ o ‘alumnos’. En el caso de ser una tabla para una relación muchos a muchos, por ejemplo entre ‘proyectos’ y ‘alumnos’, se crearía otra tabla cuyo nombre contendría los de las tablas relacionadas separadas por una barra (‘_’) y en orden alfabético, es decir: ‘alumnos_proyectos’ (si la tabla se llamara ‘proyectos_alumnos’ no funcionaría). Las tablas deben contener un campo llamado id primary key auto incrementable. Si usted planea relacionar tablas, el uso de la llave foránea debe aparecer asi parecer: "alumno_id". El nombre de tabla referenciada en singular, seguido de guion bajo y id. Si usted incluye las columnas “created” y/o "modified" en su tabla, cakephp llenara el campo automáticamente según sea el caso. Cuando se crea el registro cakephp lo llena con la fecha y hora en que se creó e igual cuando el registro se modifique. Ejemplo de lo anterior CREATE TABLE ` alumnos` ( ` id` int(11) NOT NULL auto_increment, `nombre` varchar(50) NOT NULL, `apellido` varchar(50) NOT NULL, `fecha_nacimiento` date NOT NULL, `email` varchar(45) NOT NULL, `telefono` varchar(15) NOT NULL, `num_natricula` int(4) NOT NULL, `nota_selectividad`decimal(4,2) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE ` proyectos` (

Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Embed Size (px)

Citation preview

Page 1: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Convenciones básicas obligatorias para utilizar cakephp una aplicación.

Tablas de la base de datos.

El nombre de cualquier tabla debe estar en plural, ej: ‘proyectos’ o ‘alumnos’. En el caso de ser una tabla para una relación muchos a muchos, por ejemplo entre ‘proyectos’ y ‘alumnos’, se crearía otra tabla cuyo nombre contendría los de las tablas relacionadas separadas por una barra (‘_’) y en orden alfabético, es decir: ‘alumnos_proyectos’ (si la tabla se llamara ‘proyectos_alumnos’ no funcionaría).

Las tablas deben contener un campo llamado id primary key auto incrementable.

Si usted planea relacionar tablas, el uso de la llave foránea debe aparecer asi parecer: "alumno_id". El nombre de tabla referenciada en singular, seguido de guion bajo y id.

Si usted incluye las columnas “created” y/o "modified" en su tabla, cakephp llenara el campo automáticamente según sea el caso. Cuando se crea el registro cakephp lo llena con la fecha y hora en que se creó e igual cuando el registro se modifique.

Ejemplo de lo anterior

CREATE TABLE `alumnos` (`id` int(11) NOT NULL auto_increment,`nombre` varchar(50) NOT NULL,`apellido` varchar(50) NOT NULL,`fecha_nacimiento` date NOT NULL,`email` varchar(45) NOT NULL,`telefono` varchar(15) NOT NULL,`num_natricula` int(4) NOT NULL,`nota_selectividad`decimal(4,2) NOT NULL,PRIMARY KEY (`id`));CREATE TABLE `proyectos` (`id` int(10) unsigned NOT NULL auto_increment,`titulo` varchar(45) NOT NULL,`num_paginas` varchar(45) NOT NULL,PRIMARY KEY (`id`));CREATE TABLE `alumnos_proyectos` (`id` int(11) NOT NULL auto_increment, ̀ alumno_id ` int(11) NOT NULL, ̀ proyecto_id ` int(11) NOT NULL, PRIMARY KEY (`id`));

Page 2: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Convención para crear Model (modelo).

Cada tabla debe tener una clase modelo de igual nombre que la tabla, pero en singular, guardada en un archivo también con el mismo nombre de la tabla, pero en singular, con extensión ‘.php’. Dichofichero deberá almacenarse en la carpeta ‘..../proyecto_cake/app/models’ . Para la tabla ‘alumnos’, la clase para el modelo se llamará ‘class Alumno… { … }’. El nombre del modelo se nombra según las reglas CamelCase y deberá estar guardada en el fichero ‘alumno.php’.

Clase derivada de la clase AppModel.

Convención para crear Controller (controlador).

El nombre de la clase controlador se forma poniendo el nombre de la tabla en plural, seguido de ‘Controller’ respetando la regla CamelCase. Para la tabla ‘alumno’ quedaría así: ‘class AlumnosController… { … }’. Esta clase deberá guardarse en un fichero de nombre ‘alumnos_controller.php’ dentrode la carpeta ‘…./proyecto_cake/app/controllers/’.

Clase derivada de la clase AppController.

Page 3: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Convención para crear Views (vistas).

Para crear las vistas de las tablas de la base de datos, hay que crear una carpeta por cada tabla dentro de la carpeta ‘…. /proyecto_cake/app/views/’. Para la tabla ‘alumnos’ se creará la carpeta ‘…./proyecto_cake/app/views/alumnos/’. Dentro de cada una de lascarpetas creadas para las vistas se creará un fichero para la vista de edición, de nombre ‘edit.ctp’, otro para la de inserción, ‘add.ctp’, otro para el listado de registros ‘index.ctp’ y otro para cada registro‘view.ctp’.

Page 4: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Breve explicación de model, controller y Views.

Controller Alumnos.

Cada función en el controlador es una acción esta acción apunta a un modelo. Por ejemplo el controller Alumnos se referencia al model Alumno.

function index apunta a la vista index. De la misma forma con la function edit, add, view se referencian a una vista con su mismo nombre. Para la function delete no se crea vista ya que para eliminar no se necesita una presentacion.

Explicacion.

$this->Alumno->find('all') : como parámetro se refiere al modelo Alumno y ha recuperar todos los registros de la tabla alumnos con la función de la base de datos: find('all').

set('alumnos' : como parámetro se refiere a la variable que se pasara a la vista como un array con todos los campos de tabla Alumno. Se puede colocar otra palabra para esta variable y en la vista colocar el mismo nombre. Para este caso se denomina alumnos.

View index.

Un archivo con extensión ctp en una carpeta del mismo nombre de la tabla a la cual se desea presentar y se crea en la ruta app/view/. La vista en una combincion de html, php, helpers de cakephp y vendors. Para este caso Html y php es suficiente. Se utiliza para recuperar la información una variable array llamada alumnos que contiene todos los registros de la tabla alumnos en la base de datos. A La variable alumnos asiganan estos valores de la tabla por medio de la función set del controller.

Page 5: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

En el navegador la ruta para acceder al aplicativo anterior si se hubiese creado seria.

Para xampp.

http://localhost/aplicacion_cake/alumnos/index

Explicación url de la aplicacion. http://NombreDelServidor/NombreDeAplicacion/NombreController/NombreFuncion

Nota: para la explicación no aplican las reglas CamelCase. Se utilizan para hacer más legible la explicación.

Page 6: Convenciones Básicas Obligatorias Para Utilizar Cakephp Una Aplicación

Resumen.

Los modelos contienen la lógica del negocio. Se entiende por esto un modelo por cada tabla en nuestra base de datos.

Los controladores contienen la lógica la aplicación para cada modelo. Sirven la gestión de direccionamiento en la aplicación y para comunicar la vista y al modelo.

Las vistas contienen la lógica de la presentación.