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
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