Servicios en Zend Framework 2

of 18 /18
Servicios en Zend Framework 2 Carlos Nacianceno El Taller Web

Embed Size (px)

description

 

Transcript of Servicios en Zend Framework 2

  • 1. Servicios en Zend Framework 2 Carlos Nacianceno El Taller Web
  • 2. El Taller Web Partners de Zend Technologies o Productos o Entrenamiento o Consultora o Soporte El Taller Web
  • 3. Zend Framework 2
  • 4. Zend Framework 2 Framework Open-source PHP GitHub Construccin de aplicaciones web y servicios Cdigo 100% orientado a objetos Flexibilidad en mente Use al gusto Simplicidad en uso de componentes Zend Framework 2
  • 5. Caractersticas 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
  • 6. Nueva Arquitectura Autoloaders Event Manager Service Manager Modulos Zend Framework 2
  • 7. Servicios
  • 8. Qu es un servicio? Libreras del framework Siguen alguna de sus reglas Hace algo concreto Enviar un email Logger etc Deben ser reusables Tener dependencias rasonables Zend Framework 2
  • 9. Servicio vs Mdulo Mdulo es especfico para ZF2 El Servicio se debe poder usar en cualquier proyecto Mdulo tiene que ver con MVC, el Servicio generalmente no. Zend Framework 2
  • 10. Service Manager Es un registro, contenedor y/o localizador de objetos Contiene informacin necesaria para cargar el objeto Esos objetos seran tus servicios Se puede crear propios, exportar de terceros. Zend Framework 2
  • 11. Service Manager Invokables Clases con nombre completo, que no necesita parmetros 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
  • 12. Service Manager return array( 'service_manager' => array( 'factories' => array( Zend Framework 2 'User' => 'SomeModuleServiceUserFactory', 'UserForm' => function ($serviceManager) { $form =new SomeModuleFormUser(); return $form; }, 'invokables' => array( 'UserInputFiler' => 'SomeModuleInputFilterUser', ),);
  • 13. Estructura General Proyecto/library/Namespace/Clases para el cdigo Proyecto/tests/Namespace/Clases para los tests Si se desea compartir en Github, se tiene que aadir el archivo de Licencia, el README, etc. Zend Framework 2
  • 14. Composer Composer para el manejo de depencias, aadir un composer.json al proyecto Se definen dependencias Lugar de bsqueda 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
  • 15. Unit testing Una buena prctica La carpeta test requiere un phpunit.xml.dist que gua el testing con PHPUnit Bootstrap.php parala inicializacin 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
  • 16. Otras cosas a considerar Estndares de codificacin Una variante de PSR-2 http://framework.zend.com/wiki/display/ZFDEV2/Coding+St andards Documentacin phpDocumentor Comentarios en el cdigo 3rd party en carpeta Vendor Zend Framework 2
  • 17. Preguntas? PHP 5.4
  • 18. GRACIAS [email protected] @eltallerweb @igormx