Top Banner
© All rights reserved. Zend Technologies, Inc. ZEND FRAMEWORK ¡Toma el control! Karén Nalbandian [email protected] Mira el webinar grabado : http://bit.ly/rp5iK1 Original author and presenter: Ryan Maugier, ZF Contributor & ZF CR Team Member.
49

Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

Aug 31, 2018

Download

Documents

truongxuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

ZEND FRAMEWORK

¡Toma el control!

Karén Nalbandian

[email protected]

Mira el webinar grabado : http://bit.ly/rp5iK1

Original author and presenter: Ryan Maugier, ZF Contributor

& ZF CR Team Member.

Page 2: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Quién es Karén Nalbandian?

• Project Manager, Líder tecnológico y Desarrollador Senior en Alfa9 Servicios Web S.L.

• 12 años de experiencia en diseño y programación de aplicaciones Web en PHP y ASP .NET

• Zend Certified PHP5 Engineer

• Alfa9 Servicios Web S.L. es Socio de Negocios de Zend Technologies en España.

2

Page 3: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Quién es Ryan Mauger? • Original author and presenter of this webinar

• Zend Framework Contributor

• Zend Framework CR Team Member

• Co-Author of Zend Framework 2 in Action (With Rob Allen)

• Technical Editor for Zend Framework: A Beginners Guide

• Community Supporter

• Zend Certified PHP5 Engineer

• Lead Developer at Lupimedia

Page 4: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué aprenderás?

Conceptos fundamentales que te ayudarán a empezar a resolver las cosas

por ti mismo

4

Page 5: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Dónde empezar?

• Tutoriales

- Akrabat’s (Rob Allen): http://akrabat.com/zft

- Quickstart Oficial: http://bit.ly/zf-quickstart

• Crea tu propio sandbox

- TENLO SIEMPRE A MANO!

- Actualízalo, experimenta y guarda los añadidos para usarlos mas adelante

5

Page 6: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué sigue?

• Ciclo de dispatching

• Autoloaders, Plugin Loaders y Resource Loaders

• Plugins

• Helpers

• Models

• Forms, Decorators, Validators y Filters

6

Page 7: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Pero ¿y ahora que hago?

• Entender el ciclo de una petición en ZF

• Entender el ciclo de una petición en ZF

• Entender el ciclo de una petición en ZF

• Entender el ciclo de una petición en ZF

7

Page 8: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Ciclo de vida de una petición

Ah… ¿y nada más?

Bootstrap

Dispatch

Enrutado

8

Page 9: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Más? ¿Qué tal el diagrama completo?

Fuente: http://www.slideshare.net/polleywong/zend-framework-dispatch-workflow

9

Page 10: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¡OUCH!

10

Page 11: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Poniéndolo un poco mas simple

Bootstrap

routeStartup

route

routeShutdown

dispatchLoopStartup

preDispatch

dispatch (action)

postDispatch

dispatchLoopShutdown

11

Page 12: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Poniéndolo un poco mas simple

routeStartup

route

routeShutdown

dispatchLoopStartup

preDispatch

dispatch (action)

postDispatch

dispatchLoopShutdown

route

preDispatch

dispatch (action)

postDispatch

FC Plugin

Router

Controller

Cic

lo d

e D

ispatc

h

12

Page 13: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

BOOTSTRAPPING

13

Page 14: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Bootstrapping

• Inicializa los recursos que puedas necesitar.

• Prepara todo para que la petición pueda ser despachada.

• No hace nada específico a los módulos.

• Recuerda los Bootstrap de los módulos, incluso si estos están vacíos.

14

Page 15: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Bootstrap de Módulo

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.frontController.controllerDirectory.default = APPLICATION_PATH "/controllers"

resources.modules[] = ""

<?php

class Abcd_Bootstrap extends Zend_Application_Module_Bootstrap

{

protected function _initRest()

{

$fc = Zend_Controller_Front::getInstance();

$restRoute = new Zend_Rest_Route($fc, array(), array(

'abcd' => array('contacts'),

));

$fc->getRouter()->addRoute('contacts', $restRoute);

}

}

15

Page 16: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

PLUGINS Y ACTION HELPERS DE

FRONT CONTROLLER

16

Page 17: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Plugins de Front Controller

• Proveen hooks (ganchos) a diferentes puntos del ciclo de vida de una petición.

• Se ejecutan de forma automática. • No deben depender de Action Controller para

ser ejecutados. • Las excepciones provocadas en preDispatch no

impedirán la ejecución de preDispatch en el resto de los Plugins.

• Son más fáciles de usar si no tienen parámetros en el constructor.

17

Page 18: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Añadiendo Plugin a Front Controller

• Desde el archivo de configuración

autoloaderNamespaces[] = "My_"

resources.frontController.plugins[] = "My_Controller_Plugin"

<?php

class Abcd_Bootstrap extends Zend_Application_Module_Bootstrap

{

protected function _initPlugins()

{

$this->getApplication()

->getResourcePlugin('frontController')

->registerPlugin(new ModuleName_Plugin_Acl());

}

}

• Desde el Bootstrap (útil para los módulos)

18

Page 19: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Action Helpers

• Proveen hooks (ganchos) a varios puntos del ciclo de vida de una petición.

• Se ejecutan de forma automática o a petición. • Están destinados a eliminar el código repetido

en las acciones del Controller (principio DRY) o extender la funcionalidad de Action Controllers.

• Las excepciones lanzadas en pre/postDispatch impiden la ejecución del resto de Action Helpers.

19

Page 20: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Añadiendo Action Helper

• Desde el archivo de configuración

resources.frontController.actionHelperPaths.My_Action_Helper = "My/Action/Helper"

<?php

class Abcd_Bootstrap extends Zend_Application_Module_Bootstrap

{

protected function _initActionHelpers()

{

Zend_Controller_Action_HelperBroker::addPath(

'My/Action/Helper',

'My_Action_Helper'

);

Zend_Controller_Action_HelperBroker::addHelper(

new My_Action_Helper_Thingy()

);

}

}

• Desde el Bootstrap (útil para los módulos)

20

Page 21: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Action Helper o FC Plugin?

Inicio

¿Necesitas

interactuar

con el

Controller?

¿Necesitas

hooks

anteriores a

preDispatch

?

FC Plugin

ErrorHandler

Layout

ActionStack

Action Helper

Redirector

FlashMessenge

r

ContextSwitch

ViewRenderer

No

Sí No

21

Page 22: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Autoloading

Carga de Plugins

Carga de Resources

Autoloading

22

Page 23: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Autoloading

• Componentes de librería

• Sigue el formato de nombres de PEAR

• Utilizado en todas partes del framework:

new Zend_Form()

new Zend_Db()

new Zend_Service()…

23

Page 24: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Carga de Plugins

• Utiliza prefijos para resolver nombres de clases y rutas para la carga.

• Funcionar fuera del contexto de include_path.

• Se utiliza siempre que una clase se crea sólo con un sufijo.

• Form Elements, View Helpers, Action Helpers, Resource Plugins

24

Page 25: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Carga de Resources • Resuelve nombres de clases que no tienen correspondencia 1:1

con el sistema de archivos:

- Application_Model_Page

- application/models/Page.php

• Es usado por componentes de un Módulo (modelos, formularios, servicios)

• Provee espacio de nombres para el Módulo

• Se crea de forma automática para cada Módulo durante el proceso de Bootstrap

• Hace que las carpetas de los Módulos estén mas ordenados (controllers, models, views, forms, etc.)

25

Page 26: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Loaders en acción

<?php

class My_Form extends Zend_Form

{

public function init()

{

$this->addElement('Text', 'aTextBox', array(

'label' => 'A text Box'));

}

}

Carga de Plugins

“Text” se resuelve a Zend_Form_Element_Text mediante la

iteración a través de todos los prefijos/rutas configurados hasta

que se encuentre una coincidencia.

26

Page 27: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Loaders en acción

<?php

class My_Form extends Zend_Form

{

public function init()

{

$this->addElementPrefixPath(

'My_Form_Element_', 'My/Form/Elements/');

$this->addElement('Text', 'aTextBox', array(

'label' => 'A text Box'));

}

}

Añadiendo tus propios prefijos

Zend_Form::addElementPrefixPath es un ejemplo de cómo se

accede al Cargador de Resources para añadir un nuevo prefijo/ruta.

También acepta un tercer argumento opcional para aplicar la

configuración únicamente a elementos, decoradores, filtros o

validadores.

27

Page 28: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Loaders en acción Autoloading

[production]

phpSettings.display_startup_errors = 0

phpSettings.display_errors = 0

autoloaderNamespaces[] = "My_"

includePaths.library = APPLICATION_PATH "/../library"

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"

bootstrap.class = "Bootstrap"

<?php

class IndexController extends Zend_Controller_Action

{

public function indexAction()

{

$myComponent = new My_Cool_Component();

}

}

28

Page 29: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Loaders en acción Carga de Resources

<?php

class Admin_IndexController

extends Zend_Controller_Action

{

public function indexAction()

{

$form = new Admin_Form_EditPage();

$this->view->form = $form;

}

}

29

Page 30: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Opciones del constructor

¿Qué puedo poner en $options?

30

Page 31: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué puedo poner en $options? • $options es siempre un array asociativo

• Cada clave es normalizada y convertida en nombre de método setter. Así, “foo” se convierte en “setFoo” y “bar”, en “setBar”.

• Si existe tal setter, es invocado pasándole el valor correspondiente de $options como el único argumento.

• Por regla general no se lanzan exceptiones para setters que no existen.

• Algunos componentes guardarán cualquier opción que no tenga setter para otros propósitos. Por ejemplo, en Zend_Form estos se convierten en atributos.

31

Page 32: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Dónde puedo encontrar los setters disponibles?

• En la documentación API (http://framework.zend.com/apidoc/core)

• En su IDE (Entorno de Desarrollo) si dispone de autocomplete

• En el Manual

32

Page 33: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Ventajas de usar array de opciones

• Flexibilidad de configuración

• Fácil de extender

• Autodocumentado

33

Page 34: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Aprovechando el array de opciones en Zend_Form

<?php

class Admin_Form_EditPage

extends Zend_Form

{

protected $_page;

public function init()

{

$this->addElements(array(

// ...

new Zend_Form_Element_Select('multi'),

// ...

));

$this->getElement('multi')

->setMultiOptions($this->_page);

}

public function setPage($page)

{

$this->_page = $page;

return $this;

}

}

El método setPage() es invocado antes del init() permitiendo pasar un objeto, array o un valor escalar a través del constructor y utilizarlo para cualquier propósito durante la inicialización del formulario.

34

Page 35: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

DECORADORES

35

Page 36: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Cómo funcionan los decoradores?

Label (<dt><label></label></dt>)

HtmlTag (<dd>…</dd>)

Errors (<ul>…</ul>)

Description

(<p>…</p>) Element (<input…

/>)

Se renderizan desde

dentro hacia fuera.

El nuevo contenido

generado envuelve, se

añade antes o se añade

después del contenido

obtenido desde el

decorador anterior.

36

Page 37: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Definiendo el stack de decoradores

$this->getElement('multi')

->setMultiOptions($this->_page)

->setDecorators(array(

'ViewHelper',

'Description',

'Errors',

array('HtmlTag', array(

'tag' => 'dd',

)),

array('Label', array(

'tag' => 'dt',

)),

));

•ViewHelper – renderiza el elemento.

•Description – añade el párrafo con descripción (si existe) debajo del elemento.

•Errors – añade la lista de errores debajo del elemento.

•HtmlTag – envuelve el contenido con etiquetas dd.

•Label – añade la etiqueta label envuelta en dt antes del elemento.

37

Page 38: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Definiendo el stack de decoradores

38

Page 39: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

La M del MVC

39

Page 40: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Modelando los datos

• Lógica de negocios

• Lógica de dominio

• Servicios

• Mappers

• Entidades

• Modelos

40

Page 41: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Un poco de MVC

Aplicación

BBDD

View

Front

Controller

Action

Controller Lógica de

Dominio

41

Page 42: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Modelos basados en Zend_Db_Table

¿Dominio?

BBDD Zend_Db_Table

42

Page 43: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Modelos basados en Zend_Db_Table

Dominio

BBDD Entidad Zend_Db_Table

43

Page 44: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Modelos basados en DataMapper

Dominio

BBDD Entidad

Mapper

Zend_Db_Table

44

Page 45: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

Modelos basados en DataMapper

Dominio

BBDD

Mapper Entidad

Capa abstracción

BBDD

45

Page 46: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué patrón utilizar?

• Ciclo de mantenimiento

• Complejidad de la Aplicación

• Estado actual del Proyecto

• Soluciones disponibles (Doctrine, Propel, phpDataMapper) y su conveniencia de uso.

46

Page 47: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué soporta ZF?

Abstracción de Base de Datos

47

Page 48: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¿Qué soporta ZF?

Abstracción de Base de Datos

•Suponemos algún tipo de integración de Doctrine2 cuando salga ZF2.

•Doctrine2 está ganando popularidad como el sistema ORM para ZF.

•Doctrine 1.x sigue siendo una elección de ORM muy extendida, a pesar de implementar el patrón Active Record.

48

Page 49: Zend PPT Templatestatic.zend.com/topics/Zend-Framework-Toma-el-Control.pdf · •Zend Framework CR Team Member •Co-Author of Zend Framework 2 in Action (With Rob Allen) •Technical

© All rights reserved. Zend Technologies, Inc.

¡Te agradecemos la participacion! ¿Preguntas?

49

Karén Nalbandian

[email protected]

Mira el webinar grabado: http://bit.ly/rp5iK1

Si quieres contactar Zend Technologies o enviarnos tus

comentarios:

Ana Maria Valarezo - [email protected]