Introducción a Zend
    Framework 2
    Carlos Nacianceno
       El Taller Web
El Taller Web




 • Partners de Zend Technologies
       o   Productos
       o   Entrenamiento
       o   Consultoría
       o   Soporte


El Taller Web
Zend Framework 2
Zend Framework 2
• Framework Open-source PHP
    • GitHub

• Construcción de aplicaciones web y servicios

• Código 100% orientado a objetos

• Flexibilidad en mente
    • ‘Use al gusto’

• Simplicidad en uso de componentes



Zend Framework 2
Características clave
• Requiere PHP 5.3.3 o superior
    • Namespaces
    • Closures

• No es necesario instalar todo el framework
    • Composer
    • Pyrus
    • GitHub

• Licencia BSD




Zend Framework 2
Características clave
• Requiere PHP 5.3.3 o superior
    • Namespaces
    • Closures

• No es necesario instalar todo el framework
    • Composer
    • Pyrus
    • GitHub

• Licencia BSD




Zend Framework 2
¿Algún usuario de ZF1?
• Se refactorizaron componentes a PHP 5.3

• Otros componentes fueron re-escritos
  completamente

• Varios componentes de ZF1 ya no estan en el Core
  de ZF2
    • packages.zendframework.com
    • GitHub

• MVC flexible, ya no con FrontController

• Coding Standard cambió
Zend Framework 2
Nueva Arquitectura
• Autoloaders

• Event Manager

• Service Manager

• Modulos




Zend Framework 2
Autoloaders
• AutoloaderFactory
    • Fabrica de autoloaders para reutilizar si se requiere

• ClassmapAutoloader
    • Mapeo Clase a archivo

• StandardAutoloader
    • PSR-0 asume el mapeo de clase a FS es 1:1




Zend Framework 2
Event Manager
• Controla “oyentes” que reaccionarán al disparo de
  un evento
    • Añade
    • Agrega
    • Elimina

• Dispara Eventos

• Un evento es una acción

• Un “oyente” es un callabe que recibe el evento en sí.



Zend Framework 2
Event Manager
use ZendEventManagerEventManager;

$events = new EventManager();

$events->attach('do', function($e) {
     $event = $e->getName();
     $params = $e->getParams();
     printf( 'Handled with parameters’);
           }
     );


$params = array('foo' => 'bar', 'baz' => 'bat');
$events->trigger('do', null, $params);




 Zend Framework 2
Eventos
• En ZF2 (casi) todo se ejecuta por eventos
    • Existen, eventos ya definidos que normalmente se disparan

• StaticEventManager
    • Listener solo para un contexto determinado

• Shared Event Manager
    • Único, compartido para toda la aplicación




Zend Framework 2
Service Manager
• Es un registro, contenedor y/o localizador de objetos

• Contiene información necesaria para cargar el objeto

• Esos objetos serían tus servicios

• Se puede crear propios, exportar de terceros.




Zend Framework 2
Service Manager
• Invokables
    • Clases con nombre completo, que no necesita parámetros

• Factories
    • Es un callable PHP, un objeto o clase con nombre completo

• Alias

• Initializers
    • Un Callable que se ejecuta cuando el servicio se manda
      llamar




Zend Framework 2
Service Manager
return array( 'service_manager' => array(
     'factories' => array(
           'User' => 'SomeModuleServiceUserFactory',
           'UserForm' => function ($serviceManager) {
                 $form =new SomeModuleFormUser();
                 return $form; },
     'invokables' => array(
           'UserInputFiler' => 'SomeModuleInputFilterUser',
),);




 Zend Framework 2
Modulos
• Completamente flexibles

• Independientes

• Ruteo configurable

• Permiten reutilización

• modules.zendframework.com




Zend Framework 2
Cómo usarlo?
1. Clonar zendframework/ZendSkeletonApplication
    1. Instalar el framework usando composer

2. Usar Zend Studio 10 para crear proyecto
    1. Instalar el framework usando composer

3. Usar phpcloud creando el proyecto en la nube

4. Descargar el Framework, ponerlo en el include_path
    1. Crear la estructura a mano




Zend Framework 2
¿Preguntas?




PHP 5.4
GRACIAS

info@eltallerweb.com

    @eltallerweb

      @igormx

Introducción a Zend Framework 2

  • 1.
    Introducción a Zend Framework 2 Carlos Nacianceno El Taller Web
  • 2.
    El Taller Web • Partners de Zend Technologies o Productos o Entrenamiento o Consultoría o Soporte El Taller Web
  • 3.
  • 4.
    Zend Framework 2 •Framework Open-source PHP • GitHub • Construcción de aplicaciones web y servicios • Código 100% orientado a objetos • Flexibilidad en mente • ‘Use al gusto’ • Simplicidad en uso de componentes Zend Framework 2
  • 5.
    Características clave • RequierePHP 5.3.3 o superior • Namespaces • Closures • No es necesario instalar todo el framework • Composer • Pyrus • GitHub • Licencia BSD Zend Framework 2
  • 6.
    Características clave • RequierePHP 5.3.3 o superior • Namespaces • Closures • No es necesario instalar todo el framework • Composer • Pyrus • GitHub • Licencia BSD Zend Framework 2
  • 7.
    ¿Algún usuario deZF1? • Se refactorizaron componentes a PHP 5.3 • Otros componentes fueron re-escritos completamente • Varios componentes de ZF1 ya no estan en el Core de ZF2 • packages.zendframework.com • GitHub • MVC flexible, ya no con FrontController • Coding Standard cambió Zend Framework 2
  • 8.
    Nueva Arquitectura • Autoloaders •Event Manager • Service Manager • Modulos Zend Framework 2
  • 9.
    Autoloaders • AutoloaderFactory • Fabrica de autoloaders para reutilizar si se requiere • ClassmapAutoloader • Mapeo Clase a archivo • StandardAutoloader • PSR-0 asume el mapeo de clase a FS es 1:1 Zend Framework 2
  • 10.
    Event Manager • Controla“oyentes” que reaccionarán al disparo de un evento • Añade • Agrega • Elimina • Dispara Eventos • Un evento es una acción • Un “oyente” es un callabe que recibe el evento en sí. Zend Framework 2
  • 11.
    Event Manager use ZendEventManagerEventManager; $events= new EventManager(); $events->attach('do', function($e) { $event = $e->getName(); $params = $e->getParams(); printf( 'Handled with parameters’); } ); $params = array('foo' => 'bar', 'baz' => 'bat'); $events->trigger('do', null, $params); Zend Framework 2
  • 12.
    Eventos • En ZF2(casi) todo se ejecuta por eventos • Existen, eventos ya definidos que normalmente se disparan • StaticEventManager • Listener solo para un contexto determinado • Shared Event Manager • Único, compartido para toda la aplicación Zend Framework 2
  • 13.
    Service Manager • Esun registro, contenedor y/o localizador de objetos • Contiene información necesaria para cargar el objeto • Esos objetos serían tus servicios • Se puede crear propios, exportar de terceros. Zend Framework 2
  • 14.
    Service Manager • Invokables • Clases con nombre completo, que no necesita parámetros • Factories • Es un callable PHP, un objeto o clase con nombre completo • Alias • Initializers • Un Callable que se ejecuta cuando el servicio se manda llamar Zend Framework 2
  • 15.
    Service Manager return array('service_manager' => array( 'factories' => array( 'User' => 'SomeModuleServiceUserFactory', 'UserForm' => function ($serviceManager) { $form =new SomeModuleFormUser(); return $form; }, 'invokables' => array( 'UserInputFiler' => 'SomeModuleInputFilterUser', ),); Zend Framework 2
  • 16.
    Modulos • Completamente flexibles •Independientes • Ruteo configurable • Permiten reutilización • modules.zendframework.com Zend Framework 2
  • 17.
    Cómo usarlo? 1. Clonarzendframework/ZendSkeletonApplication 1. Instalar el framework usando composer 2. Usar Zend Studio 10 para crear proyecto 1. Instalar el framework usando composer 3. Usar phpcloud creando el proyecto en la nube 4. Descargar el Framework, ponerlo en el include_path 1. Crear la estructura a mano Zend Framework 2
  • 18.
  • 19.
    GRACIAS info@eltallerweb.com @eltallerweb @igormx