tuxpuc | todos los usuarios gnu/linux de la pucp...

Post on 18-Jun-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1/27

Frameworks en PHP

Conceptos de Entornos de Desarrollo y características del CakePHP

2/27

PHP: Hypertext Preprocessor El lenguaje PHP surge en 1994 como un conjunto de

binarios en C usados para una página personal de Rasmus Lerdorf (PHP: Personal HomePage)

En 1997 Zeev Suraski & Andi Gutmans reescriben el parser y lo renombran.

En el 2000 aparece PHP 4, siendo al última versión la 4.4.6 disponible desde este mes. Aún se le brinda soporte.

PHP 5 aparece en el 2004, con un nuevo motor (Zend Engine II)

3/27

PHP: Hypertext Preprocessor Es libre Cuenta con gran cantidad de documentación. Múltiples extensiones para funciones

específicas. Curva de aprendizaje mínima para personas

con conocimiento en C o PERL. Múltiples Proyectos OS disponibles

4/27

Frameworks

Estructura de soporte en la cual un proyecto de software puede ser organizado y desarrollado.

Puede incluir soporte de programas, bibliotecas, lenguaje de scripting y otras herramientas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.

5/27

PHP & Frameworks

Uso Principal de PHP: Programación de páginas web dinámicas (usando MySQL mayormente)

Al ser competencia directa con otros frameworks como ASP .Net, JavaServerPages y otros se requería un entorno de desarrollo más completo.

Han aparecido múltiples proyectos de frameworks para PHP, la mayoría basados en Ruby in Rails.

6/27

Ejemplos

[ [ Web Application Component Toolkit ] ]

7/27

Puntos a Considerar al elegir un Framework PHP 4 VS PHP 5 Utilización del M-V-C Múltiples Bases de Datos Uso de plantillas Object Record Mapper (Active Record) La Caché & La Sesión Validación Asistentes para HTML, Ajax, etc. Herramientas específicas (RSS, PDF, etc)

8/27

Frameworks: PHP 4 Vs PHP 5

Muchos de los servidores ya incluían PHP 4 cuando salió el 5. Como aún hay soporte, se sigue usando. Algunos Frameworks soportan ambos, aunque la mayoría sólo soporta PHP 5 con sus nuevas funciones.

[ [ Web Application Component Toolkit ] ]

9/27

Frameworks: M-V-C

Separación en capas: Modelo - Vista Controlador

La gran mayoría de frameworks lo usan.

Obtenido de alzado.org

10/27

Ejemplo en CakePHP: MVC

Controllers….Function editar() {…}….

Views Models

videos

videos_controller.php

Class Video {…}

video.php

editar.thtml

11/27

Frameworks: Múltiples Bases de Datos Se debe dar soporte para que sin cambios

en la programación (sólo en un archivo de configuración) se pueda pasar de una base de datos a otra.

Por ejemplo en CakePHP se pueden usar: MySQL Postgres sqlite pear-driver (ej: pear-mysql) adodb-driver

12/27

Frameworks: Uso de plantillas

Las plantillas se utilizan para agilizar la creación de páginas que tienen elementos repetitivos.

En CakePHP Se pueden definir diferentes “layouts” de

acuerdo a las funciones del controlador. Se pueden definir “elements”, que son pedazos

de código que recibiendo parámetros cambian su forma de mostrarse y que pueden colocarse en distintas páginas.

13/27

Ejemplo en CakePHP: Layouts & Elements

Element Menu que recibe el ID de Usuario de la sesión.

{

{

{

{

Layout Default, que llama a la cabecera, menú, buscar y pie de página.

14/27

Frameworks: Object Record Mapper

Se refiere a empaquetar en una instancia de una clase a una fila de una tabla.

Leyendo de la tabla, el objeto establece sus atributos y relaciones automáticamente y adquiere la lógica que contenga.

En el caso de CakePHP, el modelo es el que define a la clase y sólo con el nombre de la Tabla adquiere todos sus atributos.

15/27

Frameworks: La Caché & La Sesión

La Caché permite almacenar las peticiones más frecuentes para que solamente se genere html la primera vez (mejora el rendimiento)

La Sesión se hace transparente para el usuario, sólo leyendo y escribiendo en ella.

En CakePHP ambos manejos son automáticos, teniendo a su vez tres niveles de manejo de Sesiones según se requiera.

16/27

Frameworks: Validación

La Validación se refiere a filtros de datos que evitan el ingreso de datos incorrectos a la base de datos. Este manejo puede hacerse en el cliente o en el servidor.

En CakePHP: La validación por servidor se incluye en el

modelo, definiendo reglas como expresiones regulares.

Se pueden personalizar los errores de validación.

17/27

Ejemplo en CakePHP:

Cada cadena define los caracteres permitidos.En la vista elegimos los mensajes a mostrar.

18/27

Frameworks: Asistentes Librerías que ayudan a formatear

adecuadamente elementos de control comunes, como son elementos de formularios, scripts e hipervínculos.

En CakePHP: Este concepto se conoce como “helpers”. Los

más usados son HTML (para formularios y elementos de navegación), Javascript y Ajax.

Ayudan a conectar más fácilmente la información transmitida desde la vista al controlador.

19/27

Ejemplo en CakePHP:

$html->image() Imprime una imagen, sin importar la página donde nos encontremos.

$html->input() & $html->tagErrorMsg()Manejan información de un formulario y su validación.

20/27

Frameworks: Asistente de Ajax La tecnología Ajax brinda un valor agregado a

las aplicaciones web, ya que permite comunicarse con el servidor sin tener que recargar la página en la que nos encontramos.

Se debe buscar frameworks que integren de forma transparente el Ajax a las aplicaciones.

En CakePHP: Se usa el prototype.js y las librerías de

Script.aculo.us

21/27

Ejemplo en CakePHP

$ajax->link()Permite con sólo definir un arreglo realizar diversas acciones sin recargas.El código generado se basa en prototype.js

22/27

Frameworks: Otras herramientas También se debe tener en cuenta otras herramientas

como: Generadores de RSS Generadores de PDF Paginación Scaffolding XML, etc.

En CakePHP: Los “vendors” y “components” brindan funciones extra.

El feedcreator por ejemplo maneja la creación de RSS.

23/27

Frameworks: A tener en cuenta

Además de los puntos técnicos mencionados hay que resaltar otros puntos que deben considerarse al elegir un framework Curva de Aprendizaje suave Buena Documentación Una comunidad Activa Instalación sencilla Velocidad de Codificación

24/27

CakePHP

Cumple con los requisitos técnicos Es sencillo de aprender para programadores

que conozcan PHP, especialmente para los que saben programación orientada a objetos.

Documentación (API & Manuales) muy completa

Comunidad activa que desarrolla nuevos componentes regularmente.

25/27

Ejemplos de Aplicaciones en CakePHP DIA-PUCP: Videos PUCP

http://videos.pucp.edu.pe DIA-PUCP: Repositorio de OARS

http://ceos.pucp.edu.pe/~galleta

FileShifter http://engdemo.fileshifter.se/efs/

Lov.Li http://lov.li/

Cheesecake Photoblog http://cheesecake-photoblog.org/demo/

27/27

Gracias por la atención

Natalí Flores Lafossenatali.flores@pucp.edu.pe

top related