1_1_zf2_introduccion (1)

21
Curso: "Zend Framework 2" 2013 “Presentación de ZF2 ReleasesMódulo 1 © Todos los logos y marcas utilizados en este documento, están registrados y pertenecen a sus respectivos dueños. AUTOR: Andrés Guzmán Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5 1

Upload: antonio-reyes

Post on 19-Nov-2015

10 views

Category:

Documents


0 download

DESCRIPTION

documento

TRANSCRIPT

  • Curso: "Zend Framework 2" 2013

    Presentacin de ZF2 Releases

    Mdulo 1

    Todos los logos y marcas utilizados en este documento, estn registrados y pertenecen a sus respectivos dueos.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    1

  • Curso: "Zend Framework 2" 2013 Objetivos El objetivo de este mdulo semanal es hacer la primera presentacin formal de Zend Framework (ZF2 Releases) como herramienta de desarrollo basada en PHP5.3+ La intencin es comprender y discutir todo el alcance y las posibilidades de la herramienta

    y culminar la primera etapa con la instalacin de un sistema base y realizar la infalible y nunca bien valorada prueba clsica de hola mundo

    "Quemar etapas"

    Es importante que saques provecho de cada mdulo y consultes todos los temas que se van tratando, sin

    adelantar etapas.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    2

    http://framework.zend.com/http://framework.zend.com/

  • Curso: "Zend Framework 2" 2013 Introduccin

    Zend Framework 2 es un proyecto open source para desarrollar aplicaciones web

    usando puramente PHP5.3+. Zend Framework 2 usa 100% programacin orientada a

    objetos y utiliza todo el potencial y las nuevas caractersticas de PHP 5.3, tales cmo

    los namespaces, late static binding, funciones lambda y closures, todo bajo licencia

    New BSD License. Rescribe completamente el componente MVC, con una nueva

    arquitectura modular mucho ms reutilizable, autnomo, portable, con varias mejoras

    en rendimiento, que lo hace superior y mucho ms rpido (si

    se usa correctamente).

    Zend Framework 2 comnmente abreviado como ZF2, es un producto desarrollado por la empresa Zend Technologies y est diseado con el objetivo de simplificar el desarrollo de

    sistemas web implementando las mejores prcticas y patrones de diseos (design

    patterns) de ingeniera de software, enfocado en la construccin de seguras, fiables y

    modernas aplicaciones Web 2.0.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    3

    http://framework.zend.com/http://es.wikipedia.org/wiki/C%C3%B3digo_abiertohttp://en.wikipedia.org/wiki/Web_application_frameworkhttp://es.wikipedia.org/wiki/PHPhttp://php.net/manual/en/language.namespaces.phphttp://it.php.net/lsbhttp://it2.php.net/manual/en/functions.anonymous.phphttp://en.wikipedia.org/wiki/New_BSD_Licensehttp://www.zend.com/http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1ohttp://es.wikipedia.org/wiki/Desarrollo_de_softwarehttp://es.wikipedia.org/wiki/Web_2.0

  • Curso: "Zend Framework 2" 2013 A grandes rasgos, un framework es un conjunto de componentes, APIs y de clases que nos permiten resolver un problema en especfico, que ya tiene resuelto el tema del diseo y de la arquitectura. En el caso particular de ZF2, nos permite resolver

    muchos de los problemas que se presentan al desarrollar aplicaciones con tecnologa

    Persistencia, MVC, Inyeccin de Dependencia, AOP etc., con bajo acoplamiento y alta cohesin etc).

    Una de las mayores ventajas de ZF2, es la forma modular en el que fue creado, permitiendo habilitar/deshabilitar las caractersticas a utilizar segn se requiera.

    Nota importante: el curso estar basado en la ltima versin disponible (2. x) de la serie 2 (ZF2 Releases) la cual incorpora muchas funcionalidades que automatizan procesos de creacin de componentes de nuestro sistema.

    ZF2 no es compatible con ZF1, debido a las nuevas caractersticas de PHP 5.3 + implementadas por el ZF2, y debido al gran re-escrituras de muchos de sus componentes, sobre

    todo Zend MVC que fue diseado y escrito desde el principio.

    Auto-contenido, portables, reutilizable

    Uso de Namespace PHP 5.3+

    Empaquetamiento Phar (packaging)

    Distribucin Composer y Pyrus

    Inyeccin de Dependencia

    Bajo acoplamiento y alta cohesin.

    Ligero, muy rpido (si se usa correctamente)

    Mltiples rutas de directorios

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    4

  • Curso: "Zend Framework 2" 2013 Por qu ZF2? Seamos claros: Si eres o quieres ser un profesional del desarrollo de software sabrs

    que los que sean capaces de disear y crear aplicaciones empresariales usando PHP5 con Zend Framework tendrn trabajo por mucho tiempo. Y es que la penetracin y crecimiento de Zend crece exponencialmente todos los aos. ZF2 permite desarrollar aplicaciones flexibles, con alta cohesin y con un bajo acoplamiento, Extendiendo el arte y el espritu de PHP, ZF2 se basa en la simplicidad, las mejores prcticas de programacin y ofrece flexibilidad y reduccin de costos (licencias) a travs de un producto de calidad y rigurosamente testeado.

    Zend Framework 2 evolucionado desde Zend Framework 1, un exitoso framework PHP con ms de 15 millones de descargas. Y si fuera poco, ZF2 tiene un sitio web dedicado a compartir mdulos escritos y

    compartidos por la comunidad, donde cuenta con una gran lista de mdulos que se

    pueden descargar y utilizar en nuestros proyectos, como por ejemplo sistemas de

    usuarios con seguridad con Zend Auth y ACL, integracin con ORM Doctrine2,

    facebook, twitter etc.

    ZF2 permite desarrollar aplicaciones flexibles, con alta cohesin y con un bajo acoplamiento.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    5

    http://es.wikipedia.org/wiki/Testinghttp://modules.zendframework.com/

  • Curso: "Zend Framework 2" 2013 Zend Framework 2 permiti simplificar el desarrollo en PHP5 al utilizar clases Java

    Simples de PHP, conocidos como clases de Entity (Entidad) o POPO (Plain Old PHP

    Object con getter y setter) para la configuracin de servicios. Debido a que muchos

    proyectos muestran las mismas tareas a realizar una y otra vez, tales como

    Localizacin de Servicios, Manejo de Transacciones, Manejo de Excepciones,

    Parametrizacin de la aplicacin, entre muchos ms. ZFE permite resolver muchos de estos problemas de manera muy simple. Para lograr

    lo anterior el framework se base en un concepto fundamental:

    DI (Dependency Inyection): El objetivo es lograr un bajo acoplamiento entre los objetos de nuestra aplicacin. Con este patrn de diseo, los objetos no

    crean o buscan sus dependencias (objetos con los cuales colabora) sino que

    stas son proporcionadas o inyectadas al objeto, por ejemplo inyectar objetos a una clase (POPO o Entity) que tiene dependencias, en lugar de ser ella misma

    sea quien las instancie. El contenedor (la entidad que coordina cada objeto en el sistema) es el encargado de realizar este trabajo al momento de instanciar el

    objeto. Se invierte la responsabilidad en cuanto a la manera en que un objeto

    obtiene la referencia a otro objeto.

    De esta manera, los objetos conocen sus dependencias por su interfaz. As la dependencia puede ser intercambiada por distintas implementaciones a travs

    del contenedor. En resumen, programaremos orientado a interfaces e

    inyectaremos las implementaciones a travs del contenedor.

    Las caractersticas anteriores son la base para la creacin de contenedores ligeros

    (lightweight containers). ZF2 tiene uno de los contenedores ligeros ms completos y

    populares al da de hoy, conocido como Service Manager.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    6

  • Curso: "Zend Framework 2" 2013 Resumiendo podemos decir que ZF2:

    Nuevo sistema de autoloading de clases y componentes Patrn Inyeccin de Dependencia Administrador de Eventos Nueva Arquitectura MVC Quick start: ZendSkeletonApplication Sistema de Package No ms require_once Contenedor ligero Service Manager

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    7

  • Curso: "Zend Framework 2" 2013 Las cuatro claves de beneficios de Zend

    Modularidad

    Mantienen su cdigo limpio, simple y modular, bajo acoplamiento y alta cohesin.

    Productividad

    Ms del 70% de los desarrolladores reportan ganancias de productividad y una reduccin en el tiempo de desarrollo e implementacin con ZF2.

    Portabilidad

    Las aplicaciones se ejecutan en ambiente apache, en plataformas Linux, Windows, Mac etc.

    Capacidad de pruebas unitarias

    Dependencias limpias, actualizadas y los justo y necesaria, aseguran que la integracin con unit testing sea muy simple.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    8

  • Curso: "Zend Framework 2" 2013 Demasiadas ruedas redondas Una de las cosas que como desarrolladores hay que tratar de evitar es reinventar la rueda, ya que existen demasiados Frameworks para usar y API's para reusar, y nuestra meta debera ser construir "plataformas de desarrollo"[*] que deberan apoyarse en lo posible- sobre herramientas slidas y muy probadas, as no perder el

    objetivo primario y esencial que es "desarrollar sistemas", no "frameworks" (y nuestros

    clientes agradecidos).

    [*] Por plataforma de desarrollo nos referimos a lo opuesto de hacer todo artesanalmente, todo lo que se hace desde la primera vez con sudor y lgrimas, como un carpintero que trabaja sobre el trozo de madera hasta llegar a la pieza de arte que luego puede vender. Deberamos poner el foco en reducir todo lo posible cualquier actividad que no sea necesaria hacer dos veces, reusar componentes a tal extremo que lo nico que se hace artesanalmente son las funcionalidades nuevas que an no estn contempladas en nuestra plataforma, pero que una vez hecho, no volveremos a desarrollar de cero, solo trabajar en su evolucin.

    Por ejemplo, Cuntas veces repetimos cdigo de persistencia de datos contra una base de datos? Cuntas veces hicimos una clase de persistencia? todos nuestros sistemas usan una nica clase de persistencia o existen distintas versiones de distintas clases que hacen lo mismo o similar?

    Una ventaja de ZF2 es que nos permite contar con componentes que se pueden usar dentro o fuera del sistema MVC permitiendo reusar el mismo cdigo funcional (y conocimientos) en todos nuestros sistemas.

    No tendremos sistemas aislados, tendremos sistemas que comparten la misma plataforma de desarrollo.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    9

    http://es.wikipedia.org/wiki/.php%23Frameworks_en_PHPhttp://es.wikipedia.org/wiki/API

  • Curso: "Zend Framework 2" 2013

    ZF es una herramienta que est extensamente

    probada y testeada,

    desarrollada y certificada

    por Zend Technologies y

    siendo usada en millones de aplicaciones web. Si

    desarrollamos "otra rueda" a travs de

    mecanismos tpicos de "programacin artesanal", quin se har cargo de los costos de desarrollar de cero funcionalidades

    completamente triviales?... sin contar que muy

    probablemente por cada paso que avancemos iremos generando bugs que convivirn mucho tiempo con nosotros? (hasta les tomaremos

    cario y les pondremos apodos)

    Entonces

    Para qu reinventar algo que existe (como una "rueda redonda") si se puede reusar partes para construir un vehculo que permita transportar

    pasajeros (y en menos tiempo)?

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    10

    http://framework.zend.com/issues/secure/BrowseProject.jspahttp://framework.zend.com/issues/secure/BrowseProject.jspahttp://www.zend.com/

  • Curso: "Zend Framework 2" 2013 Simplicidad La estructura de los componentes de Zend Framework 2 es nica, cada componente

    est diseado con muy pocas dependencias de otros componentes. ZF2 sigue el

    principio de diseo orientado a objeto SOLID. Esta arquitectura de bajo acoplamiento

    permite a los desarrolladores utilizar y seleccionar cualquier componente que quieren,

    sin la necesidad de cargar todos los componentes. Adems incorpora Phar packaging y

    una herramienta para la gestin y construccin de proyectos zend con un modelo de

    configuracin ms simple, para describir sus dependencias y paquetes, adems simple

    de instalar utilizando herramientas como Composer o Pyrus, que manejan la instalacin

    y las dependencias del framework en su conjunto y cada uno de sus componentes,

    incorpora un Skeleton Application, repositorio de componentes en GitHub, mejorando

    an ms este diseo.

    Zend Framework 2 ha sido desarrollado pensando en la extrema simplicidad. Provee

    un ligero y de bajo acoplamiento conjunto de componentes simplificado para proporcionar las funcionalidades ms comunes de los desarrolladores, entre estas

    podemos destacar las siguientes:

    Separar las distintas capas con sus roles bien definidos, ofrece un robusta implementacin del patrn de arquitectura de software MVC (Modelo, Vista y Controlador), con un alto nivel de performance MVC. Donde el Modelo es la representacin especfica de los datos con la cual el

    sistema opera (generalmente bases de datos, pero pueden ser otras fuentes

    de datos), la Vista presenta los datos en un formato adecuado para interactuar, usualmente cumpliendo con la "interfaz de usuario" y finalmente

    el Controlador que responde a eventos, generalmente peticiones de los usuarios (presionando un link, ejecutando un formulario, etc), e interacta a

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    11

    http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29http://getcomposer.org/http://pear.php.net/manual/en/pyrus.phphttp://es.wikipedia.org/wiki/Grasp%23Bajo_acoplamientohttp://es.wikipedia.org/wiki/Modelo_Vista_Controlador

  • Curso: "Zend Framework 2" 2013

    su vez con el Modelo y la Vista (para pedirle informacin o para representar

    la informacin, respectivamente).

    Trabajar con formularios en HTML5, filtros y validaciones de datos enviados: a travs de los componentes Zend\Form, Zend\Validator y Zend\InputFilter para que los desarrolladores puedan consolidar todas estas operaciones de forma sencilla, utilizando la

    mejor interfaz orientada a objetos.

    Abstraer la conexin y las operaciones en la bases de datos a travs de Zend\Db

    Autenticacin y seguridad, como Zend\Authentication y Zend\Permissions\Acl, proporcionar autenticacin y autorizacin de usuarios revisando contra las credenciales almacenadas en el

    sistema.

    Emails, Logs, Config, etc, muchos componentes que nos resuelven todos los problemas habituales de cualquier sistema que

    intentemos desarrollar.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    12

    http://www.w3.org/TR/html5/forms.html%23formshttp://framework.zend.com/manual/2.0/en/modules/zend.form.intro.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.validator.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.input-filter.intro.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.db.adapter.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.authentication.intro.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.permissions.acl.intro.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.mail.introduction.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.log.overview.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.config.introduction.html

  • Curso: "Zend Framework 2" 2013 Lo ltimo en tecnologa y funcionalidades de la Web 2.0 AJAX implementado con Dojo (framework de javascript) y apoyado con componentes Json (alternativamente cuenta con soporte para jQuery, menos compleja

    que Dojo).

    Servicios Web y una larga lista de componentes para acceder a populares servicios

    como Twitter, Yahoo, Flickr, Delicious, Amazon, etc.

    100% Orientado a objetos con PHP5 siguiendo estndares y las mejores prcticas, patrones de diseo, pruebas unitarias, y un largo etctera.

    Aunque suene obvio y repetitivo, cabe destacar que an existen frameworks que usan PHP4, no todos aprovechan correctamente la POO, y menos sus componentes son lo suficiente independientes como

    para evitar una forma de trabajo rgida, donde si queremos hacer algo que no estaba previsto, toda la productividad del framework se viene

    abajo.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    13

    http://es.wikipedia.org/wiki/AJAXhttp://es.wikipedia.org/wiki/Dojo_toolkithttp://es.wikipedia.org/wiki/JSONhttp://es.wikipedia.org/wiki/JQuery

  • Curso: "Zend Framework 2" 2013 Arquitectura

    ZF2 tiene una arquitectura flexible que permite a los desarrolladores usar tanto la estructura MVC y todos sus componentes (como originalmente est pensado), pero tambin permite tomar un subconjunto del Framework e incluirlo como una librera aislada.

    Esto permite tener la posibilidad de armar una plataforma homognea de desarrollo,

    donde se podr aplicar el patrn MVC para sistemas web tradicionales, o usar por ejemplo- las clases de persistencia para simples scripts que corran procesos contra la

    base de datos, evitando tener que crear cdigo de persistencia cuando ya existe uno y

    puede aprovecharse sin problemas.

    La arquitectura de una aplicacin ZF2 se compone de distintas capas, cada capa tiene una funcin muy especfica. Dividir una aplicacin en capas tiene varias ventajas, como

    son separacin de responsabilidades, un mejor mantenimiento a la aplicacin,

    especializacin de los programadores en cada capa, entre muchas ms. ZF2 es un framework que resuelve varios problemas de distintas capas, desde la capa de

    presentacin, la capa de negocio y la capa de datos.

    A continuacin mencionaremos cada una de las capas de una aplicacin multicapas.

    Capa Web: la capa web se refiere al contexto MVC referido a los controladores que manejan las peticiones de usuarios y las vistas phtml respectivas a cada

    accin del controlador, tambin est incluido todo lo relacionado al Layout, View

    Resolver, el View Manager y los Render.

    Capa de Negocio: en esta capa podemos encontrar tecnologa como son los las clases Entity o POPO, los DAO (Objetos de acceso a datos) y clases de

    servicios, manejados por el Service Manager de ZF2.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    14

  • Curso: "Zend Framework 2" 2013 Capa de Datos: aqu vamos a encontrar tecnologas como PDO de PHP5,

    Zend\Db, Table Gateway, Doctrine 2, entre otras. Este cdigo nos va a permitir

    comunicarnos con nuestra base de datos para leer y almacenar informacin en

    ella.

    Con esto demuestra estar perfectamente diseado para que sus componentes estn altamente desacoplados (si es importante destacarlo, no nos cansaremos de repetirlo), es decir, hay poca o nada de dependencias entres los componentes.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    15

  • Curso: "Zend Framework 2" 2013 Diseo Interno

    Entre los paradigmas o patrones de diseo implementados en ZF se destacan sin duda

    MVC, Service Locator y Table Gateway,

    los cuales son ampliamente usados en la

    mayora de los proyectos.

    MVC como se mencion anteriormente, nos permite

    separar las distintas capas de

    nuestra aplicacin (no

    necesariamente es sinnimo de "3

    capas", MVC es otra forma distinta

    de hacer una separacin de

    responsabilidades),

    El patrn de diseo Service Locator nos permite almacenar objetos dentro de una contenedor ligero y despus contar con ellos en cualquier

    parte/momento dentro de nuestro sistema,

    Finalmente el patrn Table Gateway por cada tabla de la base de datos nos permite disponer de las funcionalidades y operaciones bsicas como actualizar,

    crear, eliminar, listar y ver detalle.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    16

    http://es.wikipedia.org/wiki/Modelo_Vista_Controladorhttp://martinfowler.com/articles/injection.htmlhttp://framework.zend.com/manual/en/zend.db.table.html

  • Curso: "Zend Framework 2" 2013 Plenamente probado, seguro y confiable ZF se prueba constantemente mediante tcnicas de test unitario desde el principio, con estrictos requisitos en materia de calidad de cdigo para asegurarse de que todo el

    cdigo contribuido no slo ha sido objeto testeado, adems de ser estable y fcil de

    extender y de mantener. Con todo esto buscan garantizar que podemos crear nuestras propias libreras o componentes a partir de los existentes en Zend Framework y que no es por resultado de la improvisacin.

    Adems ZF2 cuenta con Zend\Authentication y Zend\Permissions\Acl una potente herramienta de autenticacin, altamente configurable, un completo framework de

    control de acceso. Es uno de los comonentes de Zend ms maduros y ampliamente

    utilizados, y mantenido activamente.

    Zend ha sido probado y utilizado en diversos proyectos alrededor del mundo, como en Instituciones Bancarias, Aseguradoras, Instituciones Educativas y de Gobierno,

    entre muchos otros tipos de proyectos y empresas.

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    17

    http://es.wikipedia.org/wiki/Prueba_unitariahttp://framework.zend.com/manual/en/coding-standard.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.authentication.intro.htmlhttp://framework.zend.com/manual/2.0/en/modules/zend.permissions.acl.intro.html

  • Curso: "Zend Framework 2" 2013 Tips y recordatorios PHP5 / POO

    Seguir el estndar de codificacin Zend y el uso de apertura de tags en las vistas (phtml), slo en las vistas, ejemplos: .

    En las clases el tag ?> de cierre no va (Estndar Zend).

    Los atributos son siempre protegidos o privados y se acceden/modifican mediante los mtodos getter/setter. Ej getNombre(). Uno de los principios bsico de la POO: "Principio de ocultacin".

    El constructor en PHP5 se escribe como: __construct y NO como el nombre de la clase.

    Como estndar en POO, PHP5 y Zend los nombres de clase siempre comienzan con mayscula, mientras que los nombre de variables y mtodos comienzan en minscula. Cuando son nombres compuesto se debe separar con una letra Mayscula en la primera letra de la palabra compuesta

    (estilo de escritura CamelCase), de esta forma el nombre de una clase podra

    ser MiClaseDeUpperCamelCase y de un mtodo o variable

    miMetodoDeLowerCamelCase().

    Tag de apertura en Zend y PHP5 se utiliza

  • Curso: "Zend Framework 2" 2013 Como complemento a los temas inciales y a la tarea que se publicar prximamente, se recomienda leer los siguientes enlaces:

    Repaso (si existieran dudas)

    Programacin orientada a objetos - Wikipedia Zend Coding Standard PHP5 POO

    Nuevos conceptos / herramientas

    Modelo Vista Controlador (MVC) ArrayObject Class Standard PHP Library (SPL)

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    19

    http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetoshttp://framework.zend.com/manual/en/coding-standard.htmlhttp://cl.php.net/zend-engine-2.phphttp://es.wikipedia.org/wiki/Modelo_Vista_Controladorhttp://www.php.net/manual/es/class.arrayobject.phphttp://www.php.net/manual/es/book.spl.php

  • Curso: "Zend Framework 2" 2013 En Resumen

    ZF proporciona cada uno de los componentes para muchos otros requisitos comunes en el desarrollo de aplicaciones web, flexibles, escalables, extensibles, con alta

    cohesin y con un bajo acoplamiento, permitiendo seleccionar solo algunos de ellos o

    todos, dependiendo de las caractersticas del proyecto a desarrollar, incluyendo la

    autenticacin y autorizacin a travs de listas de control de acceso (ACL), formularios,

    configuracin, cach, filtro y validacin de los datos proporcionados por el usuario para

    la seguridad y la integridad de los mismos, internacionalizacin, AJAX, email, y

    servicios web para facilitar la creacin de proyectos Mashups (aplicacin hbrida que

    integra otras aplicaciones web).

    Todos estos paquetes de Software estn disponibles de modo gratuito para su

    descarga, cuenta con una excelente documentacin y foros de desarrolladores muy

    activos y amplios. Desde luego ya sabemos que para desarrollar en ZF2, podemos usar distintos sistemas operativos y distintas configuraciones de Software.

    "Framework" significa reduccin de costos, menos fallos y ms productividad, particularmente ZF nos ofrece flexibilidad y un "Framework de Bajo Nivel" que nos posibilita a partir de los componentes existentes construir herramientas de ms "Alto Nivel".

    Si he llegado ms lejos ha sido apoyado en los hombros de gigantes

    Isaac Newton (1642-1727)

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    20

    http://es.wikipedia.org/wiki/Autenticaci%C3%B3nhttp://es.wikipedia.org/wiki/Autorizaci%C3%B3nhttp://es.wikipedia.org/wiki/Lista_de_control_de_accesohttp://en.wikipedia.org/wiki/Internationalizationhttp://es.wikipedia.org/wiki/AJAXhttp://es.wikipedia.org/wiki/Servicio_Webhttp://es.wikipedia.org/wiki/Mashup_(aplicaci%C3%B3n_web_h%C3%ADbrida)

  • Curso: "Zend Framework 2" 2013 Estos son factores importantes a la hora de decidir qu herramienta de adoptar para

    construir nuestra plataforma de desarrollo.

    Fin.

    Enva tus consultas a los foros! Aqu es cuando debes sacarte todas las dudas haciendo consultas en los foros correspondientes

    AUTOR: Andrs Guzmn Fontecilla. Email: [email protected] WEB: http://www.bolsadeideas.cl/servicios/cursos-de-capacitacion/ LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

    21

    ObjetivosIntroduccinPor qu ZF2?Resumiendo podemos decir que ZF2:Las cuatro claves de beneficios de Zend

    Demasiadas ruedas redondasLo ltimo en tecnologa y funcionalidades de la Web 2.0ArquitecturaDiseo InternoTips y recordatorios PHP5 / POOEn ResumenEnva tus consultas a los foros!