Archivo: Conexion.php
<?php
//Archivos necesarios
require 'phpDataMapper/Base.php';
require 'phpDataMapper/Adapter/Mysql.php';
class Conexion {//Inicio de la clase
public function getConexion() {
try {
//parametros: ip, base de datos, usuario, pass
$conexion = new phpDataMapper_Adapter_Mysql ( 'localhost', 'prueba', 'root', '' );
} catch ( Exception $e ) {
echo $e->getMessage ();
exit ();
}
return $conexion;
}
}//Fin de la clase
?>
El primer archivo requerido es el Base.php este es para las tablas, el mapeo.
El segundo es la interfaz de conexión para MySql.
El bloque try-catch es una estructura que se usa cuando es necesario capturar excepciones (errores).
try {
//Sentencias a ejecutar
} catch ( Exception $e ) {
//Sentancias a ejecutar en caso de una excepcion
}
En este caso la excepción seria que no se pudo hacer la conexión con MySql.
Archivo: Persona.php
<?php
class Persona extends phpDataMapper_Base {//inicio de la clase de mapeo
// definir la fuente de datos (tabla)
protected $_datasource = "persona";
// definir los atributos como propiedades de la clase con visibilidad publica
public $id = array ('type' => 'int', 'primary' => true, 'serial' => true );
public $nombre = array ('type' => 'string', 'required' => true );
public $email = array ('type' => 'string', 'required' => true );
public $web = array ('type' => 'string' );
}//fin de la clase de mapeo
?>
Archivo: index.php
<?php
include 'Conexion.php';
include 'Persona.php';
$persona = new Persona(Conexion::getConexion());
?>
Al instanciar el modelo pasamos por parametro la conexión.
La sentencia Conexion::getConexion() significa una auto-instanciación de Conexion(), (no se necesita el new), y llamado de la función getConexion() inmediatamente.
También podría ser:
<?php
include 'Conexion.php';
include 'Persona.php';
$conexion = new Conexion();
$persona = new Persona($conexion->getConexion());
?>
Postear en Twitter
Postear en Facebook
Feed RSS
Agregar a Favoritos
Diego Escares el 25 de Julio del 2010:
0
Diego Escares el 03 de Septiembre del 2010:
0
Funciona muy cool!! me encantó como funciona, ayer lo estuve practicando :D
php, mapeo, conexion, archivo, base, persona, tabla, ser, true, index
¡Amigo! te demorarás 10 segundos en crear tu cuenta.
Disfrutarás de todos los beneficios de DocumentoWeb.