Servicios en Zend Framework 2

18
Servicios en Zend Framework 2 Carlos Nacianceno El Taller Web

description

 

Transcript of Servicios en Zend Framework 2

Page 1: Servicios en  Zend Framework 2

Servicios en Zend Framework 2

Carlos NaciancenoEl Taller Web

Page 2: Servicios en  Zend Framework 2

El Taller Web

• Partners de Zend Technologies o Productoso Entrenamientoo Consultoríao Soporte

El Taller Web

Page 3: Servicios en  Zend Framework 2

Zend Framework 2

Page 4: Servicios en  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

Page 5: Servicios en  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

Page 6: Servicios en  Zend Framework 2

Nueva Arquitectura• Autoloaders

• Event Manager

• Service Manager

• Modulos

Zend Framework 2

Page 7: Servicios en  Zend Framework 2

Servicios

Page 8: Servicios en  Zend Framework 2

¿Qué es un servicio?• Librerías del framework

• Siguen alguna de sus reglas

• Hace algo concreto• Enviar un email• Logger• etc

• Deben ser reusables

• Tener dependencias rasonables

Zend Framework 2

Page 9: Servicios en  Zend Framework 2

Servicio vs Módulo • Módulo es específico para ZF2

• El Servicio se debe poder usar en cualquier proyecto

• Módulo tiene que ver con MVC, el Servicio generalmente no.

Zend Framework 2

Page 10: Servicios en  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

Page 11: Servicios en  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

Page 12: Servicios en  Zend Framework 2

Service Manager

Zend Framework 2

return array( 'service_manager' => array('factories' => array(

'User' => 'SomeModule\Service\UserFactory', 'UserForm' => function ($serviceManager) {

$form =new SomeModule\Form\User(); return $form; },

'invokables' => array('UserInputFiler' => 'SomeModule\InputFilter\User',

),);

Page 13: Servicios en  Zend Framework 2

Estructura General• Proyecto/library/Namespace/Clases para el código

• Proyecto/tests/Namespace/Clases para los tests

• Si se desea compartir en Github, se tiene que añadir el archivo de Licencia, el README, etc.

Zend Framework 2

Page 14: Servicios en  Zend Framework 2

Composer• Composer para el manejo de depencias, añadir un

composer.json al proyecto

• Se definen dependencias

• Lugar de búsqueda de repositorios• http://packages.zendframework.com• http://packagist.org

• A esos lugares puedes subir tu servicio si deseas compartirlo y a la vez manejado por composer

Zend Framework 2

Page 15: Servicios en  Zend Framework 2

Unit testing• Una buena práctica

• La carpeta test requiere un phpunit.xml.dist que guía el testing con PHPUnit

• Bootstrap.php parala inicialización de los tests

• _autoload.php para el autoloading de las clases

• Usar estructura de ZF2 para el testing o generar propia estructura con la ayuda de herramientas como phpab

Zend Framework 2

Page 16: Servicios en  Zend Framework 2

Otras cosas a considerar• Estándares de codificación

• Una variante de PSR-2• http://framework.zend.com/wiki/display/ZFDEV2/

Coding+Standards

• Documentación• phpDocumentor• Comentarios en el código

•3rd party en carpeta Vendor

Zend Framework 2

Page 17: Servicios en  Zend Framework 2

¿Preguntas?

PHP 5.4

Page 18: Servicios en  Zend Framework 2

[email protected]

@eltallerweb

@igormx

GRACIAS