You are on page 1of 18

phpORM

Mario R. Uriarte Amaya


necudeco@necudeco.com
http://necudeco.com

   
Generalidades
 La persistencia de la información es la parte más 
crítica en una aplicación de software. Si la 
aplicación está diseñada con orientación a objetos, la 
persistencia se logra por: serialización del objeto o, 
almacenando en una base de datos.
 Las bases de datos más populares hoy en día son 
relacionales.

Un 35% de tiempo de desarrollo de software está 
dedicado al mapeo entre objeto y su correspondiente 
relación. 
   
phpORM
 phpORM es una libreria para acceso a datos desde 
php.
 Soporta multiples bases de datos:
 Mysq, oracle, mssql, pgsql, etc ..
 Permite conectar facilmente una misma aplicación a 
diferentes bases de datos o a la misma con diferentes 
usuarios.

   
Ejemplos

   
Obtener un articulo por su clave 
primaria

$article = new Article(array(“id”=>1));

$article = new Article();
$article­>find(array(“id”=>1));

   
Obtener los comentarios relacionados 
a un articulo

$articulo­>Comments;

   
Obteniendo un articulo por su titulo

$article = new Article();
$where[“title like ”]=”%titulo%”
$article = $article­>getAll($where)­>get(0);

   
Obteniendo los ultimos 5 articulos

$article = new Article();
$articles = $article­>getAll(array(“status 
=”=>”publish”),array(“ID”=>false));
$articles = $articles­>getArray(5);

   
Obteniendo los 5 ultimos comentarios 
de un articulo

$comments = $article­>Comments;
$comments­>seek($comments­>count()­5);
$comments­>getArray(5);

   
Obtener el ultimo comentario de un 
articulo

$comments = $article­>Comments;
$comment = $comments ­> get($comments­
>count()­1);

   
Obtener articulos basados en una 
palabra del titulo o del resumen

$article = new Article();
$articles = $article­>getAll() 
­>WhereAnd(“status=”,”publish”)
­>WhereAnd(“title like”,”%$text%”
­>WhereOr(“resumen like”,”%$text%”);

   
Obtener los articulos escritos por un 
autor

$author­>Articles;

   
Obteniendo un articulo y su categoria 
dada la clave primaria del articulo

$articulo = new Articulo();
$articulo­>find(array(“id”=>123));
$articulo­>Categoria­>nombre;

   
Instalacion
 Descargas la ultima version de 
http://code.google.com/p/php­orm/downloads/list
 La descomprimes en una carpeta de tu aplicacion 
web ( models )

   
Configuracion
 Debes crear el archivo config_db.php en la carpeta 
principal de tu aplicacion web.
 <?php
$config_db[“driver”] = “mysqli”;
$config_db[“server”] = “localhost”;
$config_db[“database”] = “nombre_base_datos”;
$config_db[“user”] = “root”;
$config_db[“password”] = “contraseña”;
?>

   
Configuracion II
 En la carpeta donde instalaste phpORM, debes crear 
tus modelos ... una clase por cada tabla que desees 
manejar.
 <?php
include_once(“phpORM/ORMBase.php”);
class Article extends ORMBase
{
protected $tablename = “articulo”;
}
?>
   
Configuracion III
 Puedes definir relaciones de uno a uno usando la 
propiedad $hasone
 <?php
include_once(“phpORM/ORMBase.php”);
include_once(“Author.php”);
class Article extends ORMBase
{
protected $tablename = “articulo”;
protected $hasone = array(“Author”=>”Author”);
}
?>
   
Configuracion IV
 Tambien puedes definir relaciones de uno a muchos 
con la propiedad $hasmany
 <?php
include_once(“phpORM/ORMBase.php”);
include_once(“Comments.php”);
class Article extends ORMBase
{
protected $tablename = “articulo”;
protected $hasmany = 
array(“Comments”=>”Comment”);
}
?>    

You might also like