<h2>Conexión</h2> <p><em><strong>Archivo: Conexion.php</strong></em></p> <pre><?php<br /><br />//Archivos necesarios<br />require 'phpDataMapper/Base.php';<br />require 'phpDataMapper/Adapter/Mysql.php';<br /><br />class Conexion {//Inicio de la clase<br /><br /> public function getConexion() {<br /> try {<br /> //parametros: ip, base de datos, usuario, pass<br /> $conexion = new phpDataMapper_Adapter_Mysql ( 'localhost', 'prueba', 'root', '' );<br /> } catch ( Exception $e ) {<br /> echo $e->getMessage ();<br /> exit ();<br /> }<br /> return $conexion;<br /> }<br /><br />}//Fin de la clase<br /><br />?><br /></pre> <p>El primer archivo requerido es el Base.php este es para las tablas, el mapeo.</p> <p>El segundo es la interfaz de conexión para MySql.</p> <p>El bloque try-catch es una estructura que se usa cuando es necesario capturar excepciones (errores).</p> <pre>try {<br />//Sentencias a ejecutar<br />} catch ( Exception $e ) {<br />//Sentancias a ejecutar en caso de una excepcion<br />}<br /></pre> <p>En este caso la excepción seria que no se pudo hacer la conexión con MySql.</p> <h2>Mapeo</h2> <p><em><strong>Archivo: Persona.php</strong></em></p> <pre><?php<br /><br />class Persona extends phpDataMapper_Base {//inicio de la clase de mapeo<br /><br /> // definir la fuente de datos (tabla)<br /> protected $_datasource = "persona";<br /><br /> // definir los atributos como propiedades de la clase con visibilidad publica<br /> public $id = array ('type' => 'int', 'primary' => true, 'serial' => true );<br /> public $nombre = array ('type' => 'string', 'required' => true );<br /> public $email = array ('type' => 'string', 'required' => true );<br /> public $web = array ('type' => 'string' );<br /> <br />}//fin de la clase de mapeo<br /><br />?><br /></pre> <h2>Estructura:</h2> <ul> <li>La Clase lleva el nombre de la tabla que va a representar (mapear).</li> <li>La variable <strong>$_datasource</strong> es el nombre de la tabla.</li> <li>Todos los atributos deben ser representados.</li> <li>Los <strong>id</strong> (claves primarias), deben ser autoincrementables en la base de datos, su representación estándar es:<strong> array ('type' => 'int', 'primary' => true, 'serial' => true )</strong>;</li> <li>Los atributos requeridos (not null) poseen el estatus 'required' => true</li> <li>Los demás atributos solo llevan el tipo.</li> <li>Cada tabla debe ser representada por su modelo.</li> <li>El modelo hereda de<strong> phpDataMapper_Base</strong>.</li> <li>La idea simplemente es llevar la tabla a código PHP.</li> </ul> <h2>Uso</h2> <p><em><strong>Archivo: index.php</strong></em></p> <pre><?php<br /><br /> include 'Conexion.php';<br /> include 'Persona.php';<br /><br /> $persona = new Persona(Conexion::getConexion());<br /> <br />?><br /></pre> <p>Al instanciar el modelo pasamos por parametro la conexión.</p> <p>La sentencia Conexion::getConexion() significa una auto-instanciación de Conexion(), (no se necesita el <strong>new</strong>), y llamado de la función getConexion() inmediatamente.</p> <p>También podría ser:</p> <pre><?php<br /><br /> include 'Conexion.php';<br /> include 'Persona.php';<br /><br /> $conexion = new Conexion();<br /> $persona = new Persona($conexion->getConexion());<br /><br />?></pre>
o salir
¡Amigo! te demorarás 10 segundos en crear tu cuenta.
Crear cuenta o acceder
Nick o e-mail Es el nombre visible de tu cuenta y te servirá para acceder a ella. Permitido espacios y cualquier caracter.
Contraseña Una clave única para acceder a tu cuenta.
Transcribe el código en la dirección indicada con el fin de evitar el SPAM.
Identificación Tu identificación es el nick o el e-mail de tu cuenta.
Contraseña La clave de tu cuenta. ¿No la recuerdas?
Recordar por diez días
Disfrutarás de todos los beneficios de DocumentoWeb.
Twitter Facebook Feed RSS
www.DocumentoWeb.com - Licencia Creative Commons