SlideShare una empresa de Scribd logo
1 de 17
Zend Framework 2 y 
MongoDB 
Carlos Nacianceno 
El Taller Web
El Taller Web 
• Partners de Zend Technologies y 
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
¿¿MongoDB??
MongoDB 
• Base de Datos 
• Open Source 
• De alto desempeño 
• Orientada a Documentos 
MongoDB
MongoDB 
• Si, no hay tablas sino documentos 
• No hay relaciones 
• No hay joins!!! 
• No hay SQL 
• No hay SQL Injection 
MongoDB
MongoDB 
MongoDB 
MongoDB SQLs 
Base de datos Base de datos 
Collections Tablas 
Documentos Bson Registros
Extension Mongo 
• Instalación desde PECL 
• pecl install mongo 
• extension=mongo.so en el php.ini 
• Zend Server ya la trae instalada 
• Activarla a través del GUI 
Zend Framework 2
Configuración de la conexión 
• En config/autoload 
• Puede llamarse por ejemplo mongodb.local.php 
return array( ‘mongodb' => array( 
Zend Framework 2 
‘db' => ‘miDb’, 
‘host’=> ‘mongodb:// 
[username:password@]host1[:port1]’, 
) 
);
Creación de servicio 
• En configuracion del módulo 
• Module.php con el metodo getServiceConfig() 
return array(‘factories' => array( 
Zend Framework 2 
‘mongoDBConn' => function($sm) { 
$config=$sm->get(‘config’); 
$hostMongo=$config[‘mongodb’][‘host’]; 
$dbMongo=$config[‘mongodb’][‘db’]; 
$mongoConnection=new MongoClient($hostMongo); 
return $mongoConnection->selectDB($dbMongo); 
}, 
);
Con el Service Locator 
• En cualquier lugar (ejemplo Controller) 
$serviceLocator=$this->getServiceLocator(); 
$mongoDb=$serviceLocator->get(‘mongoDbConn’); 
//ya puedo hacer operaciones con $mongoDb 
Zend Framework 2
Solución más completa 
• ´Collection Gateway´ crear una clase puente de 
colección e inyectarle la conexión 
return array(‘factories' => array( 
Zend Framework 2 
‘NombresCollection' => function($sm) { 
$mongoConn=$sm->get(‘mongoDBConn’); 
$nombres=new NombreCollection($mongoConn); 
return $nombres; 
}, 
); 
$serviceLocator=$this->getServiceLocator(); 
$collection=$serviceLocator->get(‘NombresCollection’); 
$data=$collection->find(array(‘nombre’=>’Carlos Nacianceno’));
Doctrine ODM 
• Modificar Composer 
• Modificar application.config.php 
• Copiar el archivo configuración de Doctrine y 
modificarlo 
• Crear directorios Hytrators y Proxies 
• Crear modelo y definir mapeo al Documento 
Zend Framework 2
¿Preguntas? 
PHP 5.4
GRACIAS 
info@eltallerweb.com 
@eltallerweb 
@igormx

Más contenido relacionado

La actualidad más candente

WSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceWSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceEmmerson Miranda
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Adrián Lois
 
WSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsWSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsEmmerson Miranda
 
AngularJS Patterns: Clean Code
AngularJS Patterns: Clean CodeAngularJS Patterns: Clean Code
AngularJS Patterns: Clean CodeFrancesc Jimenez
 
Curso node.js
Curso node.js Curso node.js
Curso node.js Redradix
 
#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azurerobertogg
 
Apache3 christiany victor
Apache3 christiany victorApache3 christiany victor
Apache3 christiany victorcrisbeme
 

La actualidad más candente (12)

Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Herramientas de Back-End
Herramientas de Back-EndHerramientas de Back-End
Herramientas de Back-End
 
WSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceWSO2 DSS - Create a Data service
WSO2 DSS - Create a Data service
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
WSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsWSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursors
 
Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
WS02 ESB Service Chaining
WS02 ESB Service ChainingWS02 ESB Service Chaining
WS02 ESB Service Chaining
 
AngularJS Patterns: Clean Code
AngularJS Patterns: Clean CodeAngularJS Patterns: Clean Code
AngularJS Patterns: Clean Code
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure
 
Apache3 christiany victor
Apache3 christiany victorApache3 christiany victor
Apache3 christiany victor
 
Connectión
ConnectiónConnectión
Connectión
 

Destacado

Z-Ray en Zend Server 8
Z-Ray en Zend Server 8Z-Ray en Zend Server 8
Z-Ray en Zend Server 8El Taller Web
 
Homenaje de despedida a Antonio Guevara Manzanares
Homenaje de despedida a Antonio Guevara ManzanaresHomenaje de despedida a Antonio Guevara Manzanares
Homenaje de despedida a Antonio Guevara ManzanaresRunero Melillaamigostoyota
 
SANTOSH GHOSH resume 2015new
SANTOSH GHOSH resume 2015newSANTOSH GHOSH resume 2015new
SANTOSH GHOSH resume 2015newsantosh ghosh
 
Mongo db enterprise_datasheet
Mongo db enterprise_datasheetMongo db enterprise_datasheet
Mongo db enterprise_datasheetEl Taller Web
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend serverEl Taller Web
 
Patrones de diseño en POO
Patrones de diseño en POOPatrones de diseño en POO
Patrones de diseño en POOEl Taller Web
 

Destacado (8)

Memcached y PHP
Memcached y PHPMemcached y PHP
Memcached y PHP
 
Z-Ray en Zend Server 8
Z-Ray en Zend Server 8Z-Ray en Zend Server 8
Z-Ray en Zend Server 8
 
Doc1
Doc1Doc1
Doc1
 
Homenaje de despedida a Antonio Guevara Manzanares
Homenaje de despedida a Antonio Guevara ManzanaresHomenaje de despedida a Antonio Guevara Manzanares
Homenaje de despedida a Antonio Guevara Manzanares
 
SANTOSH GHOSH resume 2015new
SANTOSH GHOSH resume 2015newSANTOSH GHOSH resume 2015new
SANTOSH GHOSH resume 2015new
 
Mongo db enterprise_datasheet
Mongo db enterprise_datasheetMongo db enterprise_datasheet
Mongo db enterprise_datasheet
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend server
 
Patrones de diseño en POO
Patrones de diseño en POOPatrones de diseño en POO
Patrones de diseño en POO
 

Similar a Zend Framework 2 y MongoDB

Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2El Taller Web
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2El Taller Web
 
Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2El Taller Web
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7Luis Ruiz Pavón
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administraciónJuan Ladetto
 
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHPPHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHPSpacetoshare
 
ASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsPlain Concepts
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Josefina Moratalla
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+DinLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+DinLabFIB
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
Acceso a base de datos con php
Acceso a base de datos con phpAcceso a base de datos con php
Acceso a base de datos con phpjaumeven
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombiarazigal
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBAcyberleon95
 

Similar a Zend Framework 2 y MongoDB (20)

Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2
 
Introducción a Zend Framework 2
Introducción a  Zend Framework 2Introducción a  Zend Framework 2
Introducción a Zend Framework 2
 
Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2Zend/Cache de Zend Framework 2
Zend/Cache de Zend Framework 2
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
 
Deploying Wordpress
Deploying WordpressDeploying Wordpress
Deploying Wordpress
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administración
 
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHPPHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
 
ASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard Tomàs
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02
 
Jdbc
JdbcJdbc
Jdbc
 
Gwt II - trabajando con gwt
Gwt II - trabajando con gwtGwt II - trabajando con gwt
Gwt II - trabajando con gwt
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+DinLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Acceso a base de datos con php
Acceso a base de datos con phpAcceso a base de datos con php
Acceso a base de datos con php
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
 
Integración LDAP + SAMBA
Integración LDAP + SAMBAIntegración LDAP + SAMBA
Integración LDAP + SAMBA
 

Más de El Taller Web

10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paperEl Taller Web
 
Cisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalCisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalEl Taller Web
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDBEl Taller Web
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data CachingEl Taller Web
 
Introducción a PHP 5.4
Introducción a PHP 5.4Introducción a PHP 5.4
Introducción a PHP 5.4El Taller Web
 
TCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleTCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleEl Taller Web
 
Webinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBWebinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBEl Taller Web
 
Información sobre la certificación Zend
Información sobre la certificación Zend Información sobre la certificación Zend
Información sobre la certificación Zend El Taller Web
 

Más de El Taller Web (9)

Offers
OffersOffers
Offers
 
10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paper
 
Cisco web ex-cs-0511-final
Cisco web ex-cs-0511-finalCisco web ex-cs-0511-final
Cisco web ex-cs-0511-final
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDB
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
 
Introducción a PHP 5.4
Introducción a PHP 5.4Introducción a PHP 5.4
Introducción a PHP 5.4
 
TCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & OracleTCO Comparison MongoDB & Oracle
TCO Comparison MongoDB & Oracle
 
Webinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDBWebinario Operaciones Básicas MongoDB
Webinario Operaciones Básicas MongoDB
 
Información sobre la certificación Zend
Información sobre la certificación Zend Información sobre la certificación Zend
Información sobre la certificación Zend
 

Zend Framework 2 y MongoDB

  • 1. Zend Framework 2 y MongoDB Carlos Nacianceno El Taller Web
  • 2. El Taller Web • Partners de Zend Technologies y 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
  • 7. MongoDB • Base de Datos • Open Source • De alto desempeño • Orientada a Documentos MongoDB
  • 8. MongoDB • Si, no hay tablas sino documentos • No hay relaciones • No hay joins!!! • No hay SQL • No hay SQL Injection MongoDB
  • 9. MongoDB MongoDB MongoDB SQLs Base de datos Base de datos Collections Tablas Documentos Bson Registros
  • 10. Extension Mongo • Instalación desde PECL • pecl install mongo • extension=mongo.so en el php.ini • Zend Server ya la trae instalada • Activarla a través del GUI Zend Framework 2
  • 11. Configuración de la conexión • En config/autoload • Puede llamarse por ejemplo mongodb.local.php return array( ‘mongodb' => array( Zend Framework 2 ‘db' => ‘miDb’, ‘host’=> ‘mongodb:// [username:password@]host1[:port1]’, ) );
  • 12. Creación de servicio • En configuracion del módulo • Module.php con el metodo getServiceConfig() return array(‘factories' => array( Zend Framework 2 ‘mongoDBConn' => function($sm) { $config=$sm->get(‘config’); $hostMongo=$config[‘mongodb’][‘host’]; $dbMongo=$config[‘mongodb’][‘db’]; $mongoConnection=new MongoClient($hostMongo); return $mongoConnection->selectDB($dbMongo); }, );
  • 13. Con el Service Locator • En cualquier lugar (ejemplo Controller) $serviceLocator=$this->getServiceLocator(); $mongoDb=$serviceLocator->get(‘mongoDbConn’); //ya puedo hacer operaciones con $mongoDb Zend Framework 2
  • 14. Solución más completa • ´Collection Gateway´ crear una clase puente de colección e inyectarle la conexión return array(‘factories' => array( Zend Framework 2 ‘NombresCollection' => function($sm) { $mongoConn=$sm->get(‘mongoDBConn’); $nombres=new NombreCollection($mongoConn); return $nombres; }, ); $serviceLocator=$this->getServiceLocator(); $collection=$serviceLocator->get(‘NombresCollection’); $data=$collection->find(array(‘nombre’=>’Carlos Nacianceno’));
  • 15. Doctrine ODM • Modificar Composer • Modificar application.config.php • Copiar el archivo configuración de Doctrine y modificarlo • Crear directorios Hytrators y Proxies • Crear modelo y definir mapeo al Documento Zend Framework 2