SlideShare una empresa de Scribd logo
Servicios en 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
Nueva Arquitectura 
• Autoloaders 
• Event Manager 
• Service Manager 
• Modulos 
Zend Framework 2
Servicios
¿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
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
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( 
Zend Framework 2 
'User' => 'SomeModuleServiceUserFactory', 
'UserForm' => function ($serviceManager) { 
$form =new SomeModuleFormUser(); 
return $form; }, 
'invokables' => array( 
'UserInputFiler' => 
'SomeModuleInputFilterUser', ),);
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
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
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
Otras cosas a considerar 
• Estándares de codificación 
• Una variante de PSR-2 
• http://framework.zend.com/wiki/display/ZFDEV2/Coding+St 
andards 
• Documentación 
• phpDocumentor 
• Comentarios en el código 
•3rd party en carpeta Vendor 
Zend Framework 2
¿Preguntas? 
PHP 5.4
GRACIAS 
info@eltallerweb.com 
@eltallerweb 
@igormx

Más contenido relacionado

PDF
Integracion Continua
Lenin Lozano
 
PDF
Taller de Simpletest - Drupal Day Valencia 2012
Juampy NR
 
PPTX
Pruebas Unitarias
ggarber
 
PPS
Unit Testing
Felix Rivas
 
PDF
Introduction to unit testing
Federico Damián Lozada Mosto
 
PDF
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
TestingUy
 
PDF
Hibernate - JPA @luce
Javier Gamarra
 
Integracion Continua
Lenin Lozano
 
Taller de Simpletest - Drupal Day Valencia 2012
Juampy NR
 
Pruebas Unitarias
ggarber
 
Unit Testing
Felix Rivas
 
Introduction to unit testing
Federico Damián Lozada Mosto
 
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
TestingUy
 
Hibernate - JPA @luce
Javier Gamarra
 

La actualidad más candente (20)

PDF
Pruebas unitarias
Jose Luis Rodriguez Roldan
 
PDF
Qunit CookBook español
shadow_of__soul
 
PDF
Conceptos básicos de Unit Test
Juan Vladimir
 
PPT
Test unitarios
Donewtech Solutions
 
PPTX
Concurrencia en Java
Pedro Gonzalez
 
DOCX
Pruebas de aceptación 15 11_2013
dayaorte
 
PDF
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Dani Adastra
 
PDF
Testing efectivo con pytest
Hector Canto
 
PDF
Testing & debugging lightning web components
Federico Giust
 
PPTX
Pruebas de estres
Gilberto Ibarra
 
PPTX
Presentación Seminario1 EA
mariacamposperez
 
PPT
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
La Red DBAccess
 
PDF
Maven
Luis Bertel
 
PDF
Introducción a Zend Framework
Irontec
 
PPTX
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Deisy Sapaico
 
PDF
Migrando data - DRUPAL
Alberto Torreblanca Villavicencio
 
ODP
AngularJS Patterns: Clean Code
Francesc Jimenez
 
PDF
Presentación: xUnit y Junit
Juan Belón Pérez
 
Pruebas unitarias
Jose Luis Rodriguez Roldan
 
Qunit CookBook español
shadow_of__soul
 
Conceptos básicos de Unit Test
Juan Vladimir
 
Test unitarios
Donewtech Solutions
 
Concurrencia en Java
Pedro Gonzalez
 
Pruebas de aceptación 15 11_2013
dayaorte
 
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Dani Adastra
 
Testing efectivo con pytest
Hector Canto
 
Testing & debugging lightning web components
Federico Giust
 
Pruebas de estres
Gilberto Ibarra
 
Presentación Seminario1 EA
mariacamposperez
 
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
La Red DBAccess
 
Introducción a Zend Framework
Irontec
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Deisy Sapaico
 
Migrando data - DRUPAL
Alberto Torreblanca Villavicencio
 
AngularJS Patterns: Clean Code
Francesc Jimenez
 
Presentación: xUnit y Junit
Juan Belón Pérez
 
Publicidad

Destacado (8)

PDF
Zend Server Data Caching
El Taller Web
 
PPT
Presentación1
isacervino
 
PDF
Біологія 8 клас
Школа Леди и Кадетство
 
PPT
Presentación maquetación.pptx
Gloria Quiles Garcia
 
PPTX
Presentación ilabora
iLabora
 
PPT
Gijon
isacervino
 
PPT
Tema 9. power point 4
Gloria Quiles Garcia
 
Zend Server Data Caching
El Taller Web
 
Presentación1
isacervino
 
Біологія 8 клас
Школа Леди и Кадетство
 
Presentación maquetación.pptx
Gloria Quiles Garcia
 
Presentación ilabora
iLabora
 
Gijon
isacervino
 
Tema 9. power point 4
Gloria Quiles Garcia
 
Publicidad

Similar a Servicios en Zend Framework 2 (20)

PDF
Introducción a Zend Framework 2
El Taller Web
 
PPT
Módulos en Zend Framework 2
El Taller Web
 
PPT
Zend/Cache de Zend Framework 2
El Taller Web
 
PPT
Zend Framework 2 y MongoDB
El Taller Web
 
PDF
[El comercio]php zend framework (speech)
Ernesto Anaya
 
PPT
Zend Framework Taller de SeeD Software, Colombia
razigal
 
PDF
Probando aplicaciones AngularJS
Rodrigo Pimentel
 
PDF
Code Igniter
Claudio Montoya
 
PPTX
Symfony-Community: Introducción a Symfony Framework
excedesoft
 
KEY
Modulariza tus aplicaciones Grails - Springio 2012
Dani Latorre
 
PPTX
BilboStack - Php en el 2012
Asier Marqués
 
PDF
Zend Framework - MVC - 2008
Juan Carbajal
 
PPTX
JS Patterns Applied to a Real World Example
SUGES (SharePoint Users Group España)
 
PPTX
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
PDF
Laravel 5.1
René Sandoval
 
PPTX
Formularios al limite
Ignacio Velazquez
 
PDF
Desymfony - Servicios
Ricard Clau
 
PPT
Introduccion Java.ppt
Valentin Choquehuanca
 
PPTX
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
Luis Ruiz Pavón
 
Introducción a Zend Framework 2
El Taller Web
 
Módulos en Zend Framework 2
El Taller Web
 
Zend/Cache de Zend Framework 2
El Taller Web
 
Zend Framework 2 y MongoDB
El Taller Web
 
[El comercio]php zend framework (speech)
Ernesto Anaya
 
Zend Framework Taller de SeeD Software, Colombia
razigal
 
Probando aplicaciones AngularJS
Rodrigo Pimentel
 
Code Igniter
Claudio Montoya
 
Symfony-Community: Introducción a Symfony Framework
excedesoft
 
Modulariza tus aplicaciones Grails - Springio 2012
Dani Latorre
 
BilboStack - Php en el 2012
Asier Marqués
 
Zend Framework - MVC - 2008
Juan Carbajal
 
JS Patterns Applied to a Real World Example
SUGES (SharePoint Users Group España)
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
Laravel 5.1
René Sandoval
 
Formularios al limite
Ignacio Velazquez
 
Desymfony - Servicios
Ricard Clau
 
Introduccion Java.ppt
Valentin Choquehuanca
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
Luis Ruiz Pavón
 

Más de El Taller Web (13)

PPT
Z-Ray en Zend Server 8
El Taller Web
 
PPT
Webinario mejorando el desempeño con zend server
El Taller Web
 
PPT
Patrones de diseño en POO
El Taller Web
 
PPT
Memcached y PHP
El Taller Web
 
PDF
Offers
El Taller Web
 
PDF
Mongo db enterprise_datasheet
El Taller Web
 
PDF
10gen telco white_paper
El Taller Web
 
PDF
Cisco web ex-cs-0511-final
El Taller Web
 
PPT
Replica Sets en MongoDB
El Taller Web
 
PDF
Introducción a PHP 5.4
El Taller Web
 
PDF
TCO Comparison MongoDB & Oracle
El Taller Web
 
PPT
Webinario Operaciones Básicas MongoDB
El Taller Web
 
PPT
Información sobre la certificación Zend
El Taller Web
 
Z-Ray en Zend Server 8
El Taller Web
 
Webinario mejorando el desempeño con zend server
El Taller Web
 
Patrones de diseño en POO
El Taller Web
 
Memcached y PHP
El Taller Web
 
Mongo db enterprise_datasheet
El Taller Web
 
10gen telco white_paper
El Taller Web
 
Cisco web ex-cs-0511-final
El Taller Web
 
Replica Sets en MongoDB
El Taller Web
 
Introducción a PHP 5.4
El Taller Web
 
TCO Comparison MongoDB & Oracle
El Taller Web
 
Webinario Operaciones Básicas MongoDB
El Taller Web
 
Información sobre la certificación Zend
El Taller Web
 

Último (9)

PDF
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
PPTX
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
PDF
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
PPTX
Algoritmos de localizacion de Robots móviles
yrosascunam
 
PPTX
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
PPT
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
PPT
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
PDF
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
PPTX
Agentes-Racionales-en-IA- Benjamin S.pptx
BenjaminSantana7
 
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
Algoritmos de localizacion de Robots móviles
yrosascunam
 
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
Agentes-Racionales-en-IA- Benjamin S.pptx
BenjaminSantana7
 

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 Consultoría o Soporte El Taller Web
  • 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 • 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
  • 8. ¿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
  • 9. 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
  • 10. 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
  • 11. 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
  • 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 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
  • 14. 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
  • 15. 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
  • 16. Otras cosas a considerar • Estándares de codificación • Una variante de PSR-2 • http://framework.zend.com/wiki/display/ZFDEV2/Coding+St andards • Documentación • phpDocumentor • Comentarios en el código •3rd party en carpeta Vendor Zend Framework 2