Edición de «MODELOS»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 16: | Línea 16: | ||
Ver las filas como objetos y las tablas como clases tiene otro beneficio. Permiten crear nuevos accesos para nuestras tablas. Por ejemplo si tenemos una clase Clientes y tiene un campo primer nombre, otro segundo nombre y apellidos entonces podemos crear un acceso llamado getNombre así: | Ver las filas como objetos y las tablas como clases tiene otro beneficio. Permiten crear nuevos accesos para nuestras tablas. Por ejemplo si tenemos una clase Clientes y tiene un campo primer nombre, otro segundo nombre y apellidos entonces podemos crear un acceso llamado getNombre así: | ||
− | <source lang=php> | + | <source lang=php line> |
public function getNombre(){ | public function getNombre(){ | ||
return $this->primer_nombre.” “.$this->segundo_nombre.” “. | return $this->primer_nombre.” “.$this->segundo_nombre.” “. | ||
Línea 23: | Línea 23: | ||
</source> | </source> | ||
− | Kumbia proporciona una serie de clases (ActiveRecord y SessionRecord) que permiten realizar este mapeo y además ejecutar operaciones nativas sobre las relaciones de la base de datos de forma más humana y entendible. | + | Kumbia proporciona una serie de clases (ActiveRecord y SessionRecord) que permiten realizar este mapeo y además ejecutar operaciones nativas sobre las relaciones de la base de datos de forma más humana y entendible. |
= Capa de Abstracción Independiente en Kumbia= | = Capa de Abstracción Independiente en Kumbia= | ||
Línea 43: | Línea 43: | ||
Implementan las clases de la capa de negocios: Productos, Clientes, Facturas, Empleados, etc. | Implementan las clases de la capa de negocios: Productos, Clientes, Facturas, Empleados, etc. | ||
Mantienen los datos y su lógica juntos: Un producto tiene una cantidad y se vende sólo si está activo. | Mantienen los datos y su lógica juntos: Un producto tiene una cantidad y se vende sólo si está activo. | ||
− | Representar relaciones en el modelo: | + | Representar relaciones en el modelo: Una Cliente tiene muchas Facturas |
== Acceso Directo a RDBMS == | == Acceso Directo a RDBMS == | ||
− | ===La Clase | + | ===La Clase DdBase=== |
La clase “DbBase” personalizada para cada motor es cargada automáticamente y está disponible globalmente. El valor database.type en config/environment.ini, indica qué driver se debe cargar automáticamente. | La clase “DbBase” personalizada para cada motor es cargada automáticamente y está disponible globalmente. El valor database.type en config/environment.ini, indica qué driver se debe cargar automáticamente. | ||
− | + | Crear una instancia de DdBase | |
Ya que los parámetros de conexión de la base de datos están definidos en config/environment.ini podemos utilizar esta función para crear el objeto db. | Ya que los parámetros de conexión de la base de datos están definidos en config/environment.ini podemos utilizar esta función para crear el objeto db. | ||
− | + | Ejemplo: | |
<source lang=php line> | <source lang=php line> | ||
Línea 101: | Línea 101: | ||
====connect()==== | ====connect()==== | ||
− | + | Descripción: Permite crear o reestablecer una conexión con el motor de base de datos. | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->connect([string $host], [string $user], [string $password], [string $database_name]) | $db->connect([string $host], [string $user], [string $password], [string $database_name]) | ||
− | |||
====query()==== | ====query()==== | ||
− | + | Descripción: Permite enviar sentencias SQL al motor de base de datos. El parámetro debug permite ver un mensaje del SQL que es enviado al motor de base de datos. | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->query(string $sql, [bool $debug=false]) | $db->query(string $sql, [bool $debug=false]) | ||
− | |||
− | + | Ejemplo: | |
− | + | 1.<?php | |
− | <?php | + | 2. $db = db::raw_connect(); |
− | + | 3. $db->query(“update clientes set estado = ‘A’”); | |
− | + | 4. $db->close(); | |
− | + | 5. ?> | |
− | ? | ||
− | |||
====close()==== | ====close()==== | ||
− | + | Descripción: Cierra la conexión encapsulada en el objeto | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->close() | $db->close() | ||
− | |||
====fetch_array()==== | ====fetch_array()==== | ||
− | + | Descripción: Recorre el cursor ejecutado en la última operación select. | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->fetch_array([cursor $cursor], [int $tipo_resultado=DB_BOTH]) | $db->fetch_array([cursor $cursor], [int $tipo_resultado=DB_BOTH]) | ||
− | |||
− | + | Ejemplo: | |
− | + | 1.<?php | |
− | <?php | + | 2. $db = db::raw_connect(); |
− | + | 3. $db->query(“select codigo, nombre from productos”); | |
− | + | 4. while($producto = $db->fetch_array()){ | |
− | + | 5. print$producto[‘nombre’]; | |
− | + | 6. }//fin while | |
− | + | 7. $db->close(); | |
− | + | 8. ?> | |
− | |||
− | |||
− | ? | ||
− | |||
Los tipos de resultado pueden ser: | Los tipos de resultado pueden ser: | ||
Línea 180: | Línea 158: | ||
====num_rows()==== | ====num_rows()==== | ||
− | + | Descripción: Devuelve el número de filas de la última instrucción select enviada al motor de base de datos. | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->num_rows([cursor $cursor]); | $db->num_rows([cursor $cursor]); | ||
− | |||
− | + | Ejemplo: | |
− | + | 1.<?php | |
− | <?php | + | 2. $db = db::raw_connect; |
− | + | 3. $db->query(“select codigo, nombre from productos”); | |
− | + | 4. print “Hay ”.$db->num_rows().“ productos “; | |
− | + | 5. $db->close(); | |
− | + | 6. ?> | |
− | ? | ||
− | |||
====field_name()==== | ====field_name()==== | ||
− | + | Descripción: Devuelve el nombre del campo en la posición $number del último select enviado al motor de base de datos. | |
− | + | Sintaxis: | |
− | |||
− | |||
− | |||
$db->field_name(int $number, [cursor $cursor]); | $db->field_name(int $number, [cursor $cursor]); | ||
− | |||
====data_seek()==== | ====data_seek()==== | ||
Línea 358: | Línea 326: | ||
<source lang=php line> | <source lang=php line> | ||
$db->table_exists(string $table); | $db->table_exists(string $table); | ||
− | </source> | + | </source> |
− | |||
− |