Articulo de referencia

RedBeanPHP

RedBeanPHP es un software de mapeo objeto-relacional (ORM) independiente, gratuito y de código abierto con licencia BSD , escrito por Gabor de Mooij . Es una biblioteca autónoma...

RedBeanPHP es un software de mapeo objeto-relacional (ORM) independiente, gratuito y de código abierto con licencia BSD , escrito por Gabor de Mooij . Es una biblioteca autónoma, no forma parte de ningún framework. RedBeanPHP es un mapeador objeto-relacional dinámico, lo que significa que no requiere configuración previa. El sistema se basa completamente en convenciones y adapta el esquema de la base de datos a las necesidades del programa. De esta manera, logra un equilibrio entre las soluciones NoSQL y los sistemas de gestión de bases de datos relacionales (RDBMS) tradicionales .

Características

RedBeanPHP se diferencia de otros sistemas ORM porque no requiere configuración en XML , YAML ni JSON . Adapta el esquema de la base de datos según las necesidades del programa. Todas las tablas y columnas se crean sobre la marcha, sin configuración ni mapeo previos. Añade automáticamente columnas a las tablas si es necesario y cambia el tipo de columna para que coincida con sus requisitos de contenido. Cuando el desarrollador finaliza el desarrollo y no se esperan más cambios en el esquema, este se puede congelar para su implementación en entornos de producción. Tras congelar la base de datos, no se producen más alteraciones en el esquema. Las relaciones entre tablas se mapean de la misma manera: por convención. Por ejemplo, para crear una relación uno a muchos entre dos tablas, se asigna un array a la propiedad que lleva el nombre de la tabla de destino. Esto crea automáticamente la tabla y las columnas necesarias.

Ejemplo de código que demuestra una operación CRUD simple y una relación:

R :: setup (); $movie = R :: dispense ( 'movie' ); $movie- > title = 'Frijoles en el espacio' ; $character = R :: dispense ( 'character' ); $character- > name = 'hero' ; $movie- > ownCharacterList [] = $character ; $id = R :: store ( $movie );

Influencia

RedBeanPHP es la primera biblioteca conocida que adopta el enfoque de generación dinámica de ORM. Por ello, ha tenido una gran influencia en otras bibliotecas. RedBeanPHP inspiró a muchos otros proyectos a adoptar este enfoque de mapeo de objetos. Han aparecido bibliotecas similares para .NET , [ 1 ] Python , [ 2 ] JavaScript , [ 3 ] Java , [ 4 ] Erlang , [ 5 ] ColdFusion [ 6 ] y Objective-C . [ 7 ]

Integración

Aunque es una biblioteca independiente, se han desarrollado módulos de complementos para varios frameworks populares como: Laravel , [ 8 ] CodeIgniter , [ 9 ] Kohana, [ 10 ] Silex [ 11 ] y Zend Framework . [ 12 ] Además de los módulos de integración, algunos frameworks incluyen RedBeanPHP de forma predeterminada, como The Nibble Framework. [ 13 ]

Historia

RedBeanPHP apareció por primera vez en 2009 en GitHub. [ 14 ] La primera versión disponible públicamente fue la 0.3.3. RedBeanPHP fue desarrollado por Gabor de Mooij, un desarrollador de software de los Países Bajos . Debido a que RedBeanPHP es muy accesible y no oculta el lenguaje SQL , es utilizado por universidades para enseñar programación de bases de datos. [ 15 ] Según una publicación en un foro del propio Gabor, la biblioteca se inspiró en una diatriba sobre los sistemas de mapeo objeto-relacional de Ted Neward llamada "el ORM, Vietnam de la informática". [ 16 ] [ 17 ]

Recepción

Según las reseñas y presentaciones disponibles en la web, la recepción general de RedBeanPHP parece ser positiva. [ 18 ] [ 19 ] [ 20 ] [ 21 ] Sin embargo, la biblioteca es menos adecuada para proyectos con bases de datos existentes y no admite asignaciones personalizadas de tablas y columnas; por ejemplo, no es posible usar prefijos de tabla. [ 22 ] Además, ninguno de los principales frameworks ha incorporado la biblioteca.

Véase también

Referencias

  1. LimeBean, capa de acceso a datos inspirada en RedBeanPHP para .NET
  2. ORM para Python inspirado en PyBean y RedBeanPHP
  3. "Tayr" . npm . Consultado el 2 de julio de 2016 .
  4. RedBean4J ORM inspirado en RedBean para Java (actualmente abandonado)
  5. RedBean-Erlang
  6. RedBeanCF
  7. Biblioteca inspirada en CocoaBean y RedBeanPHP para Objective-C
  8. Paquete RedBeanPHP para Laravel
  9. Complemento codeigniter-redbean para el framework CodeIgniter
  10. Módulo de integración de Kohana
  11. Proveedor de servicios RedBean para Silex
  12. Integración de RedBeanPHP con Zend Framework
  13. Nibble Framework: un framework basado en plugins para PHP
  14. Primer commit de RedBeanPHP en Github
  15. http://www.cs.wcupa.edu/rkline/wp/mysql-php.html Curso RedBeanPHP del Departamento de Ciencias de la Computación de la Universidad de West Chester
  16. Publicación en el foro que detalla la inspiración para RedBeanPHP
  17. El Vietnam de la Informática Archivado el 30/04/2010 en Wayback Machine
  18. Reseña de RedBeanPHP en SitePoint
  19. Entrevista al CEO Zurmo, quien menciona RedBeanPHP
  20. Reseña de RedBeanPHP por Dreamincode
  21. Revisión de RedBeanPHP con base de datos existente
  22. Consulta la lista de proyectos adecuados en el sitio web de RedBeanPHP.
  • Sitio web oficial de RedBean
  • Página principal del autor