4,395
edits
| Line 167: | Line 167: | ||
Si necesita una carpeta de datos temporales, esta carpeta deberá ser DOL_DATA_ROOT.'/minmodulo/temp' | Si necesita una carpeta de datos temporales, esta carpeta deberá ser DOL_DATA_ROOT.'/minmodulo/temp' | ||
== | == Objeto de la programación == | ||
=== Motivos de organización del código === | === Motivos de organización del código === | ||
| Line 183: | Line 183: | ||
Como se muestra en el código de la plantilla (ver sección anterior) Dolibarr se basa en el principio de '''Table Module'''. | Como se muestra en el código de la plantilla (ver sección anterior) Dolibarr se basa en el principio de '''Table Module'''. | ||
=== | === Comunicación lógica de negociado - Datos (ORM): === | ||
Existen 3 tipos de conexiones: | |||
* | * Puerta de enlace a Tablas y filas | ||
Es el más simple. Creamos una tabla por clase y cada clase es un puente con la tabla correspondiente, ver una clase por línea tabla. Una instancia de la clase será pues un registro de la tabla. La clase contiene sólo el código de acceso a líneas o columnas de tablas. | |||
Ejemplo: Es el método utilizado al utilizar ciertos Frameworks de ORM como '''iBatis''' (http://ibatis.apache.org/). | |||
* | * El registro activo | ||
Idéntico al anterior, pero podemos añadir algunas funciones de negociado en la clase, siempre que estas funciones sean exclusivas de la tabla o la grabación. | |||
Ejemplo: Es el método utilizado por los desarrollos de Dolibarr y por otras muchas aplicaciones en PHP que disponen de su propio propre framework y prácticas de desarrollo. | |||
* | * El Data Mapper | ||
Las clases representan las entidades del problema y no los datos. Por lo tanto hay que doblar, triplicar... estas clases con clases Mapper para acceder a los datos. | |||
Más "purista" en el papel ya que el negociado está más cercano, este método también tiene la desventaja de ser más complejo en la práctica. | |||
Ejemplo: Es el utilizadao si utilizamos el Framework de ORM '''Propel''' (http://propel.phpdb.org/trac/). Lo encontraremos pues en aplicacciones más pesadas basadas en este ORM. | |||
Para los desarrollos de Dolibarr, es recomendado utilizar el modo '''Registro Activo''' que ofrece las ventajas de un modelo cercano de negociado sin la complejidad y sin dificultar mucho la técnica. Es en este modo mediante el cual el desarrollo, la comprensión del código y el mantenimiento técnico y/o funcional parece ser la más productivo (Sin embargo, se trata de un eterno debate entre los puristas y los pragmáticos, el debate en el que nadie puede realmente estar en lo cierto, porque todo depende de los objetivos a atender). | |||