Download - Orm - Phporm 2.1.3
![Page 2: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/4.jpg)
Ejemplos
![Page 5: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/6.jpg)
Obtener los comentarios relacionados a un articulo
$articulo>Comments;
![Page 7: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/10.jpg)
Obtener el ultimo comentario de un articulo
$comments = $article>Comments;
$comment = $comments > get($comments>count()1);
![Page 11: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/12.jpg)
Obtener los articulos escritos por un autor
$author>Articles;
![Page 13: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/14.jpg)
Instalacion
Descargas la ultima version de http://code.google.com/p/phporm/downloads/list
La descomprimes en una carpeta de tu aplicacion web ( models )
![Page 15: Orm - Phporm 2.1.3](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022081811/5528496349795921048b46ed/html5/thumbnails/18.jpg)
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”);}?>