• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Mondongo, un ODM para PHP y MongoDB

  • 14,926 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
14,926
On Slideshare
0
From Embeds
0
Number of Embeds
13

Actions

Shares
Downloads
166
Comments
2
Likes
9

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MondonGO
  • 2. ¿Qué es MondonGO?
  • 3. “Mondongo es a los ODMs lo que MongoDB a las bases de datos.”
  • 4. ¿Ein? “Mondongo es a los ODMs lo que MongoDB a las bases de datos.”
  • 5. ¿Qué es ?
  • 6. “MongoDB es una base de datos escalable, de alto rendimiento, de código abierto y orientada a documentos.”
  • 7. Terminología
  • 8. Base de Datos = Base de Datos
  • 9. Base de Datos = Base de Datos Tabla = Colección
  • 10. Base de Datos = Base de Datos Tabla = Colección Registro ~ Documento
  • 11. Documentos
  • 12. JSON
  • 13. Embebidos
  • 14. Sin Esquema
  • 15. Cada documento puede tener distinta estructura
  • 16. No hay tipos
  • 17. Drivers
  • 18. en
  • 19. Conectar con Mongo
  • 20. Seleccionar bases de datos
  • 21. Seleccionar colecciones
  • 22. Las bases de datos y las colecciones se crean automáticamente si no existen
  • 23. Los documentos son simplemente arrays
  • 24. Insertar documentos
  • 25. Actualizar documentos
  • 26. Consultar documentos
  • 27. ¿Qué es un ODM?
  • 28. ODM == Object Document Mapper
  • 29. “Un ODM es una herramienta que mapea la estructura de bases de datos a objetos”
  • 30. ¿Qué es MondonGO?
  • 31. “Mondongo es un sencillo, potente y ultrarápido ODM para PHP y MongoDB.”
  • 32. Sencillo
  • 33. Fácil de usar
  • 34. Potente
  • 35. MondonGO es increíblemente flexible gracias a Mondator
  • 36. Puede usarse para cualquier tipo y tamaño de proyecto
  • 37. Ultrarápido
  • 38. Ha sido diseñado para ser extremadamente ligero
  • 39. Es el mapeador más rápido en PHP actualmente
  • 40. ¿Qué es Mondator?
  • 41. “Mondator es un generador de clases para PHP.”
  • 42. Mondongo usa Mondator para generar las clases de documentos y repositorios
  • 43. Iniciar un mondator
  • 44. Asignar configuraciones de clases Las configuraciones de clases contienen la información de las clases que deben generarse
  • 45. Asignar configuraciones de clases
  • 46. Asignar extensiones Las extensiones determinan qué clases se generarán y dónde a partir de las configuraciones de clases
  • 47. Asignar extensiones
  • 48. Procesar el mondator
  • 49. Mondongo genera cuatro clases por cada configuración de clase
  • 50. Las clases Base no deben editarse, se sobreescriben cada vez que se procesa el mondator
  • 51. Documentos MondonGO
  • 52. Los documentos Mondongo se mapean en las configuraciones de clases de Mondator
  • 53. Campos
  • 54. Son los datos de los documentos
  • 55. Tipos MondonGO ● array ● bin_data ● boolean ● date ● float ● integer ● raw ● reference_one ● reference_many ● string
  • 56. Se usan setters y getters para trabajar con los datos de los documentos
  • 57. Referencias
  • 58. Las referencias son relaciones hacia otros documentos
  • 59. Referencias a uno
  • 60. Referencias a varios
  • 61. Embebidos
  • 62. Los embebidos son documentos dentro de otros documentos
  • 63. Se usan igual que las referencias
  • 64. Guardar
  • 65. Mondongo genera la inserción o actualización óptima de los campos modificados
  • 66. Borrar
  • 67. Configurar MondonGO
  • 68. Iniciar un mondongo
  • 69. Asignar conexiones al mondongo
  • 70. Las conexiones son perezosas
  • 71. Repositorios MondonGO
  • 72. Los repositorios realizan funciones generales sobre clases de documentos
  • 73. Se obtienen mediante el mondongo
  • 74. Consultas MondonGO
  • 75. Se realizan mediante los repositorios
  • 76. Consultar documentos
  • 77. Consultar documentos con opciones
  • 78. Consultar documentos agrupando opciones
  • 79. La sintaxis de las opciones Mondongo es la misma que la sintaxis Mongo
  • 80. Consultar un documento
  • 81. Consultar un documento por ID
  • 82. Contar documentos
  • 83. Borrar documentos
  • 84. Eventos MondonGO
  • 85. Mondongo proporciona varios hooks en los documentos, que se lanzan antes y después de ciertas acciones
  • 86. ● preSave ● postSave ● preInsert ● postInsert ● preUpdate ● postUpdate ● preDelete ● postDelete
  • 87. Extensiones MondonGO
  • 88. Las extensiones Mondongo son extensiones Mondator
  • 89. Las extensiones Mondongo permiten personalizar muchísimo Mondongo
  • 90. ¿Quieres usar los documentos como arrays?
  • 91. ¿Quieres usar los documentos por sobrecarga?
  • 92. ¿Quieres importar y exportar datos con arrays?
  • 93. Extensiones Independientes Mondongo
  • 94. Se definen en las configuraciones de clases
  • 95. ¿Quieres guardar fechas de creación y actualización en algún documento?
  • 96. ¿Quieres guardar el slug de algún campo en algún documento?
  • 97. ¿Qué puedes hacer con extensiones independientes Mondongo?
  • 98. ● Modificar campos, referencias, embebidos ● Añadir ● Editar ● Borrar ● Añadir propiedades y métodos a documentos y repositorios ● Añadir eventos a documentos ● …
  • 99. Extensiones Independientes Mondongo por defecto
  • 100. ¿Quieres guardar fechas de creación y actualización en todos los documentos?
  • 101. Más mondongadas...
  • 102. Mondongo permite manejar fácilmente los índices de las colecciones
  • 103. Mondongo permite guardar ficheros mediante GridFS
  • 104. Mondongo permite loguear las consultas de la base de datos para optimizar el desarrollo
  • 105. Mondongo usa batchInsert para insertar documentos de manera eficiente
  • 106. Mondongo usa operaciones atómicas para actualizar y borrar documentos eficientemente
  • 107. Al usar clases generadas, y con PHPDoc, podrás usar el autocompletado de tu editor IDE
  • 108. Mondongo está completamente testeado con pruebas automáticas con PHPUnit
  • 109. ¿Por qué un ODM con MongoDB?
  • 110. Un ODM acelera y simplifica muchísimo el desarrollo y mantenimiento de las aplicaciones
  • 111. Los ODMs tienen una desventaja: el rendimiento
  • 112. ¿Es MondonGO realmente ultrarápido ?
  • 113. Vamos a ver unas pruebas comparando Mondongo con Mongo directamente y con otros dos ODMs: ActiveMongo y DoctrineMongo
  • 114. Insertando
  • 115. Consultando por ID
  • 116. Hydratando
  • 117. Resumiendo...
  • 118. Y además...
  • 119. Integración con symfony sfMondongoPlugin
  • 120. Integración con Symfony2 MondongoBundle
  • 121. Conclusiones ● Mongo es sinónimo de alto rendimiento
  • 122. Conclusiones ● Mongo es sinónimo de alto rendimiento ● Un ODM acelera y simplifica el desarrollo y mantenimiento de las aplicaciones
  • 123. Conclusiones ● Mongo es sinónimo de alto rendimiento ● Un ODM acelera y simplifica el desarrollo y mantenimiento de las aplicaciones ● Mondongo es el mejor aliado para exprimir hasta la última gota de MongoDB en PHP
  • 124. Conclusiones ● Mongo es sinónimo de alto rendimiento ● Un ODM acelera y simplifica el desarrollo y mantenimiento de las aplicaciones ● Mondongo es el mejor aliado para exprimir hasta la última gota de MongoDB en PHP ● Las extensiones Mondator enlarguis your... ¡mondongo!
  • 125. ¿Te gusta Mondongo? * Úsalo * Dalo a conocer * Blog * Twitter #mndgo ¿Preguntas? http://mondongo.es pablodip@gmail.com http://twitter.com/pablodip http://github.com/pablodip