orm - phporm 2.1.3

18
  phpORM Mario R. Uriarte Amaya [email protected] http://necudeco.com

Upload: necudeco

Post on 11-Apr-2015

413 views

Category:

Documents


1 download

DESCRIPTION

Ejemplos de uso de phpORM en la version 2.1.3.Mas informacion en http://necudeco.com/index.php/category/proyectos/phporm/

TRANSCRIPT

Page 1: Orm - Phporm 2.1.3

  

phpORM

Mario R. Uriarte [email protected]

http://necudeco.com

Page 2: Orm - Phporm 2.1.3

  

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. 

Page 3: Orm - Phporm 2.1.3

  

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.

Page 4: Orm - Phporm 2.1.3

  

Ejemplos

Page 5: Orm - Phporm 2.1.3

  

Obtener un articulo por su clave primaria

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

o

$article = new Article();

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

Page 6: Orm - Phporm 2.1.3

  

Obtener los comentarios relacionados a un articulo

$articulo­>Comments;

Page 7: Orm - Phporm 2.1.3

  

Obteniendo un articulo por su titulo

$article = new Article();

$where[“title like ”]=”%titulo%”

$article = $article­>getAll($where)­>get(0);

Page 8: Orm - Phporm 2.1.3

  

Obteniendo los ultimos 5 articulos

$article = new Article();

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

$articles = $articles­>getArray(5);

Page 9: Orm - Phporm 2.1.3

  

Obteniendo los 5 ultimos comentarios de un articulo

$comments = $article­>Comments;

$comments­>seek($comments­>count()­5);

$comments­>getArray(5);

Page 10: Orm - Phporm 2.1.3

  

Obtener el ultimo comentario de un articulo

$comments = $article­>Comments;

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

Page 11: Orm - Phporm 2.1.3

  

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%”);

Page 12: Orm - Phporm 2.1.3

  

Obtener los articulos escritos por un autor

$author­>Articles;

Page 13: Orm - Phporm 2.1.3

  

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

$articulo = new Articulo();

$articulo­>find(array(“id”=>123));

$articulo­>Categoria­>nombre;

Page 14: Orm - Phporm 2.1.3

  

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 )

Page 15: Orm - Phporm 2.1.3

  

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”;?>

Page 16: Orm - Phporm 2.1.3

  

Configuracion II

En la carpeta donde instalaste phpORM, debes crear tus modelos ... una clase por cada tabla que desees manejar.

<?phpinclude_once(“phpORM/ORMBase.php”);class Article extends ORMBase{

protected $tablename = “articulo”;}?>

Page 17: Orm - Phporm 2.1.3

  

Configuracion III

Puedes definir relaciones de uno a uno usando la propiedad $hasone

<?phpinclude_once(“phpORM/ORMBase.php”);include_once(“Author.php”);class Article extends ORMBase{

protected $tablename = “articulo”;protected $hasone = array(“Author”=>”Author”);

}?>

Page 18: Orm - Phporm 2.1.3

  

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”);}?>