Clases/Objetos de Conexion Directa a tablas

De CidesaWiki

(Diferencias entre revisiones)
Saltar a navegación, buscar
(Clases y Archivos Generados)
(Funcionamiento de las clases generadas por Propel)
Línea 75: Línea 75:
== Funcionamiento de las clases generadas por Propel ==
== Funcionamiento de las clases generadas por Propel ==
 +
 +
Todas las clases generadas por propel funcionan de la siguiente forma:
 +
 +
* '''Funciones get''': Los valores de los campos de cada registro pueden ser obtenidos con las funciones "get", por ejemplo para obtener el valor en el objeto del campo debemos llamar a la función '''getCarreg'''

Revisión de 19:38 30 abr 2007

Symfony contiene una herramienta que agiliza la comunicación con la base de datos; esta es llamada [Propel], la misma genera clases en distintos lenguajes para manejar las diferentes tablas de la base de dados, en esta artículo analziaremos como trabaja y como nos puede ayudar:


Configurando/Ejecución Propel

Propel dentro de symfony trabaja con la información que contiene el archivo schema.yml, en el cual se coloca la información o estrucura de las tablas de la base de datos que queremos generar. El archivo schema.yml contiene información como la siguiente:

---
propel:
  _attributes: { noXsd: false, defaultIdMethod: none, package: lib.model }
  carecpro: 
    codpro: 
      type: VARCHAR
      size: 10
      required: true
    codrec: 
      type: VARCHAR
      size: 10
      required: true
    fecent: 
      type: DATE
    fecven: 
      type: DATE
    id: 
      type: INTEGER
      required: true
      autoIncrement: true

La estrucura del archivo .yml es llamada [YAML], y es la forma como el propel de symfony obtiene los parámetros de ejecución y generación de las clases. En el ejemplo anterior se definió una tabla llamada carecpro, que contiene los campos codpro, codrec, fecent, fecven y id, el cual le dirá a propel como crear la clase de comunicación con la tabla.

Luego de tener debidamente configurado el archivo .yml, se procede hacer el llamado de la función propel de symfony por consola:

NOTA: debes estar en el directorio raiz del proyecto.

# symfony propel-build-model

Esta función te indicará el nombre de la clase resultante y los archivos que fueron creado.


Clases y Archivos Generados

Luego de ejecutar la herramienta Propel, la misma genera los siguientes archivos/clases:


--lib
----model
------map (carpeta)
--------CarecproMapBuilder.php
------om (carpeta)
--------BaseCarecpro.php
--------BaseCarecproPeer.php
------Carecpro.php
------CarecproPeer.php

En conclusión la clases BaseCarecproPeer.php y BaseCarecpro.php son las que debe ser usadas y modificadas por el usuario, las demás son generadas por Propel y contiene el núcleo del código de conexión.


Funcionamiento de las clases generadas por Propel

Todas las clases generadas por propel funcionan de la siguiente forma:

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas