27613468 framework cake php

Download 27613468 FrameWork Cake PHP

Post on 09-Jul-2015

362 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Universidad centroamericanaFacultad de ciencia, tecnologa y ambiente

IMPLEMENTACION DE APLICACIONES ORIENTADO A OBJETOSNOMBRES: David Antonio Gonzlez Blanchard Aura Lila Gutirrez Tejada Francys Jessenia Gmez Snchez ngel Antonio Gonzlez Oporta Ramces Exequiel Cabezas

PROFESOR: Armando Lpez

INGENIERIA EN SISTEMAS Y TECNOLOGIAS DE LA INFORMACION

FrameWork CakePHPIntroduccinCakePHP es un framework (entorno de trabajo) libre y de cdigo abierto para el desarrollo en PHP. Es una estructura de libreras, clases y una infraestructura runtime (en tiempo de ejecucin) para programadores de aplicaciones web originalmente inspirado en el framework Ruby On Rails.Su principal meta es permitir su trabajo de manera estructurada y rpida, sin prdida de flexibilidad.

CaractersticasCakePHP tiene varias caractersticas que lo hacen una gran opcin como un framework para desarrollo de aplicaciones rpidas y con el menor costo de molestia.

Comunidad activa y amigable Licencia flexible Compatibilidad con PHP4 y PHP5 CRUD integrado para la interaccin con la base de datos y las preguntas simplificadas Scaffolding Arquitectura Modelo Vista Controlador (MVC) Despachador de peticiones con buena vista, URL personalizadas Validacin incorporada Plantillas rpidas y flexibles (Sintaxis PHP, con Helpers) Helpers en Vistas para AJAX, Java script, Formularios HTML y mas Seguridad, Sesiones y Componentes para Manejo de Peticiones Lista de Control y Acceso flexible Desinfeccin de datos Cache flexible en Vistas Trabaja desde cualquier subdirectorio web del sitio, con poca o ninguna configuracin de Apache envuelta

Historia de CakePHPEn 2005, Michal Tatarynowicz escribi una mnima versin de un Framework Rpido para Aplicaciones en PHP. El encontr que ese fue el principio de un muy buen framework. Michal publico el framework bajo la licencia MIT, mezclando

Cake, y abrindose a una comunidad de desarrolladores, quienes ahora mantienen Cake bajo el nombre CakePHP.

Modelo de CakePHP Cake PHP utiliza el modelo vista-control es un patrn para diseo de software que ayuda a separar lgicamente el cdigo hacindolo reusable, mantenible y generalmente mejor. La entrada del usuario, el modelado del mundo externo, y la retroalimentacin visual para el usuario son separados y dirigidos por los objetos modelo, vista y controlador. En trminos de Cake, El modelo (Modelo) representa una base de datos, tabla o registro, as como sus relaciones con otras tablas o registros. Los Modelos (Models) contienen las reglas para la validacin de datos. Estas reglas son aplicadas cuando en el modelo (model) se insertan o actualizan datos. Las vistas en cake estn representadas por los archivos view, los cuales son archivos de HTML con cdigo PHP incluido. Los controladores (controllers) de Cake manejan las peticiones del servidor. Toma las entradas del usuario (URL y datos de POST), aplica la lgica de negocios, utiliza los modelos (models) para leer y escribir en base de datos y otras rutas, y manda la salida apropiada de datos con los archivos de vistas (view). Para hacer tan fcil como sea posible la organizacin de tu aplicacin, Cake usa esto no solo para manejar como interactan los objetos dentro de la aplicacin, si no tambin como son almacenados los archivos.

Descripcin de la disposicin de archivos de CakeCuando se desempaqueta Cake en el servidor se encontraran 3 carpetas principales: app cake vendors

La carpeta cake es el lugar para las bibliotecas base de Cake La carpeta app es el lugar donde estarn las carpetas y archivos especficos de su aplicacin. La separacin entre la carpeta cake y la carpeta app hace posible para usted tener

muchas carpetas app compartiendo un solo conjunto de bibliotecas de Cake. La carpeta vendors se utiliza para para guardar en ella bibliotecas de terceros.

RequerimientosPara usar CakePHP usted debe primero tener un servidor que tenga las libreras y programas para correr CakePHP. Estos son los requerimientos para la puesta en marcha del servidor para corre CakePHP:1. Un servidor HTTP (como Apache) con lo siguiente habilitado: sesiones,

mod_rewrite (no absolutamente necesario, pero preferido).

2. PHP 4.3.2 o superior. Si CakePHP trabaja bien en PHP 4 o 5. 3. Un motor de base de datos (ahora, hay soporte para MySQL, PostgreSQL

y un envoltorio para ADODB)

Estructura de CakePHPCakePHP incluye las clases Controlador [Controller], Modelo [Model] y Vista [View], pero tambin incluye otras clases y objetos que hacen que el desarrollo en MVC sea un poco ms rpido y agradable. Los Componentes [Components], Comportamientos [Behaviors], y Ayudantes [Helpers] son clases que proporcionan extensibilidad y reusabilidad; agregan rpidamente funcionalidad a las clases base MVC de las aplicaciones.

Extensiones de los Controladores ("Componentes")Un componente es una clase que ayuda a la lgica de un controlador. Si tienes alguna lgica y la quieres compartir entre varios controladores (o aplicaciones), un componente suele ser una buena eleccin. En lugar de escribir lgica en el mtodo de un controlador, puedes empaquetarla en un componente para poder compartirla. Los Controladores tambin estn equipados con callbacks. Puedes utilizar estos callbacks si necesitas insertar alguna lgica en las operaciones del ncleo de CakePHP. Los Callbacks disponibles incluyen:

beforeFilter(), se ejecuta antes que cualquier otra accin del controlador

beforeRender(), se ejecuta despus de la lgica del controlador, pero antes de que la vista se renderice afterFilter (), se ejecuta despus de toda la lgica del controlador, incluido el renderizado de la vista. Puede que no haya ninguna diferencia entre afterRender () y afterFilter (), a menos que hayas llamado manualmente a render () en el controlador y hayas incluido alguna lgica despus de esa llamada.

Extensiones de las VistasUn ayudante [Helper] es una clase que ayuda a la lgica de una vista. Del mismo modo que varios controladores utilizan un componente, los ayudantes [helpers] hacen que varias vistas accedan y compartan lgica presentacional. Con uno de los ayudantes del ncleo, el AjaxHelper, el manejo de las peticiones Ajax en las vistas es mucho ms fcil. La mayora de las aplicaciones repiten piezas de cdigo en sus vistas. CakePHP facilita la reutilizacin de este cdigo con diseos [layouts] y elementos [elements]. Por defecto, toda vista renderizada por un controlador se coloca en un diseo [layout]. Los elementos entran en juego cuando hay que reutilizar estos fragmentos pequeos de contenido.

Extensiones de los ModelosDel mismo modo, los Comportamientos [Behaviors] son formas de aadir funcionalidad comn entre los modelos. Por ejemplo, si almacena datos de los usuarios en una estructura de rbol, puede especificar que su modelo de usuario se comporte como un rbol, y obtener libre funcionalidad para eliminar, aadir, y mover nodos en la estructura de rbol subyacente. Los modelos tambin cuentan con el apoyo de otra clase llamada DataSource (Origen de datos). Los DataSources son una abstraccin que permite a los modelos manipular diferentes tipos de datos en forma consistente. Si bien la principal fuente de datos en una aplicacin CakePHP es a menudo una base de datos, puede escribir DataSources adicionales que les permitan a sus modelos representar canales RSS, archivos CSV, entradas LDAP, o eventos iCal. Los DataSources le permiten asociar registros de diferentes fuentes: en lugar de

limitarse slo a uniones [joins] SQL, los DataSources le permiten decirle a su modelo LDAP que est asociado a muchos eventos iCal. As como los controladores, los modelos tambin incluyen callbacks: beforeFind() afterFind() beforeValidate() beforeSave() afterSave() beforeDelete() afterDelete() Los nombres de estos mtodos deben ser lo suficientemente descriptivos para que sepa lo que hacen. Asegrese de obtener los detalles en el captulo acerca de los modelos.

Una peticin tpica de CakePHP

El navegador hace una peticin a su servidor Web. El enrutador analiza la URL para extraer los parmetros para esta peticin: el controlador, la accin, y cualquier otro argumento(s) que pueda afectar a la lgica de negocio durante esta peticin.

Usando las rutas, una peticin URL es mapeada a una accin de controlador (un mtodo en una clase de controlador especfica). En este caso, es el mtodo comprar () del controlador PastelesController. El callback beforeFilter() del controlador es llamado antes de que cualquier accin lgica del controlador sea ejecutada. El controlador puede usar modelos para ganar acceso a los datos de la aplicacin. Despus que el modelo ha obtenido toda la informacin, sta es devuelta al controlador. Pueden activarse callbacks del modelo. El controlador puede usar componentes para refinar aun ms los datos o realizar otras operaciones (manipulacin de sesiones, autenticacin, o envos de email, por ejemplo). Una vez que el controlador ha usado modelos y componentes para preparar suficientemente la informacin, sta es entregada a la vista usando el mtodo set() del controlador. Los callbacks de controlador pueden ser aplicados antes de que la informacin sea enviada. La lgica de vista es ejecutada, la cual puede incluir el uso de elementos y/o ayudantes [helpers]. Por defecto, la vista es creada dentro del diseo [layout]. Callbacks del controlador adicionales (como afterFilter) pueden ser aplicados. El cdigo completo creado por la vista es enviado al navegador.

Desarrollando con CakePHP ConfiguracinDespus de instalar CakePHP, crear una aplicacin web bsica solo requiere aplicar la configuracin de una base de datos. Existen, otras configuraciones opcionales, que puedes realizar con el objetivo de aprovechar las ventajas de la arquitectura flexible de CakePHP. Se pueden agregar fcilmente elementos al ncleo de CakePHP, configurar URL personalizadas y definir inflexiones.