eulr / oom
Object Oriented Model for php and MySQL
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-11-13 19:25:18 UTC
README
OOM es una clase base para poder utilizar una base de datos en MySQL como si fuesen objetos desde PHP.
Construcción de una clase de para representar una tabla
Deberás hacer el require de OOM.php
require_once '/vendor/eulr/oom/OOM.php'
y heredar de esa OOM
class Modelo extends OOM
En el constructor de la clase deberás añadir el nombre que tiene la tabla a la que hace referencia de la base de datos.
function __construct(){ $this->model_name = "modelo"; }
Quedando algo así
<?php require_once 'OOM.php'; class Modelo extends OOM{ function __construct(){ $this->model_name = "modelo"; } } $m = new Modelo(); ?>
Métodos (Cosas en las que te ayudará OOM) 😅
Método: all()
Implementación
$m_result = $m->all(); echo json_encode($m_result);
Método: find(id, full_obj = false)
De igual forma asigna al objeto que lo invoco los valores de retorno, en caso de no querer usar una variable extra. ¯\(ツ)/¯
Implementación
$r = $m->find(3); echo json_encode($r); // {"model_name":"sale_master","db":"gallery","attr":{"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}} echo json_encode($m); // {"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}
Método: find_by(key, value, full_obj = false)
Implementación
$r = $m->find_by('description', 'Coyoacan Agosto 2015'); echo json_encode($r); // [{"model_name":"sale_master","db":"gallery","attr":{"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}},{"model_name":"sale_master","db":"gallery","attr":{"id":"42","description":"Coyoacan Agosto 2015","water_mark":"W2hnsEkVyg"}}]
Método: get_many(values,key)
Implementación
$r = $m->get_many('40,42', 'id'); echo json_encode($r); // [{"model_name":"sale_master","db":"gallery","attr":{"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}},{"model_name":"sale_master","db":"gallery","attr":{"id":"42","description":"Coyoacan Agosto 2015","water_mark":"W2hnsEkVyg"}}]
Método: where(query)
Implementación
$r = $m->where('id=40'); echo json_encode($r); // [{"model_name":"sale_master","db":"gallery","attr":{"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}}]
Método: create(json)
Implementación
$m->create('{"description": "Hola", "water_mark": "L20Fd4F33F"}');
Método: save()
Implementación
$m = new Modelo(); $m->attr["description"] = "Ejemplo 1"; $m->attr["water_mark"] = "02t034FVB2"; $m->save();
Isi °ω°
Método: drop(query)
Implementación
$m_last = $m->last(); $m_last->drop(); // Borra el ultimo elemento $m->drop('description="TEST"'); //Borra el/los elemento que cumplan esa condición.
Método: sum(column, condition)
Implementación
$m->sum('id'); //=> 82
Método: first(column)
Implementación
$r = $m->first(); // {"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}
Isi °ω°
Método: last(column)
Implementación
$r = $m->last(); // {"id":"42","description":"Coyoacan Agosto 2015","water_mark":"W2hnsEkVyg"}
Método: count(where='')
Implementación
$r = $m->where('description = "Pedro"'); echo $r; // 0
Isier 7w7
#Misceláneos y así.
before_save
Before_save es una forma que te ayudará a validar o a realizar acciones antes de guardar en la base de datos, puede existir... o no, como quieras. ¯\(ツ)/¯
Uso
<?php require_once 'OOM.php'; class modelo extends OOM{ function __construct(){ $this->model_name = "modelo"; $this->before_save = "before_save"; // Esta linea es la que decide si habrá o no before, no poner sino usarás el before_save, o usar null. } function before_save(){ // Tu código aquí. return false; } } ?>
En caso de dudas, y citando a Santi:
Use the force, read the code.
eulr.mx, 2015 ######Me tomo más tiempo hacer esto que la clase :c