dev-master
9999999-dev https://github.com/said210/OOMObject Oriented Model for php and MySQL
MIT
The Requires
- php >=5.3.0
by Said Pelaez
database object-oriented mysql object
Wallogit.com
2017 © Pedro Peláez
Object Oriented Model for php and MySQL
OOM es una clase base para poder utilizar una base de datos en MySQL como si fuesen objetos desde PHP., (*1)
Deberás hacer el require de OOM.php, (*2)
require_once '/vendor/eulr/oom/OOM.php'
y heredar de esa OOM, (*3)
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., (*4)
function __construct(){
$this->model_name = "modelo";
}
Quedando algo así, (*5)
model_name = "modelo";
}
}
$m = new Modelo();
?>
all()
| Campo | Valor |
|---|---|
| parametros | Nope |
| regresa | Un arreglo con todos los resultados de esa tabla |
$m_result = $m->all(); echo json_encode($m_result);
find(id, full_obj = false)
| Campo | Valor |
|---|---|
| id | id del elemento deseado. |
| full_obj | Si es falso regresará solo los attr, pero si es verdadero regresará todo el objeto. |
| regresa | Un objeto de la clase que lo invoco. |
De igual forma asigna al objeto que lo invoco los valores de retorno, en caso de no querer usar una variable extra. ¯\_(ツ)_/¯, (*6)
$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"}
find_by(key, value, full_obj = false)
| Campo | Valor |
|---|---|
| key (String) | Nombre del atributo que se busca. |
| value (String) | Valor que debe tener el atributo buscado. |
| full_obj | Si es falso regresará solo los attr, pero si es verdadero regresará todo el objeto. |
| regresa | Un arreglo con todos los elementos que cumplan la condició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"}}]
get_many(values,key)
| Campo | Valor |
|---|---|
| values (String) | lista de valores separados por comas. |
| key (opcional)(String) | Campo con el que deberá coincidir. |
| regresa | Un arreglo con todos los elementos que cumplan la condició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"}}]
where(query)
| Campo | Valor |
|---|---|
| Query (String) | Query de mysql (☞゚ ∀゚ )☞ |
| regresa | Un arreglo con todos los elementos que cumplan la condició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"}}]
create(json)
| Campo | Valor |
|---|---|
| json (string) | Objeto JSON con los valores para crear el objeto. |
| regresa | Objeto de mysqli con el resultado del query. |
$m->create('{"description": "Hola", "water_mark": "L20Fd4F33F"}');
save()
| Campo | Valor |
|---|---|
| regresa | Booleano |
$m = new Modelo(); $m->attr["description"] = "Ejemplo 1"; $m->attr["water_mark"] = "02t034FVB2"; $m->save();
Isi °ω°, (*7)
drop(query)
| Campo | Valor |
|---|---|
| query (String)(Opcional) | Se manda un query como description='TEST'pero si es nulo se borra el elemento que tenga actualmente el objeto que lo invoco, en caso de existir un $m->attr["id"]. |
| regresa | Objeto de mysqli con el resultado del query. |
$m_last = $m->last();
$m_last->drop(); // Borra el ultimo elemento
$m->drop('description="TEST"'); //Borra el/los elemento que cumplan esa condición.
sum(column, condition)
| Campo | Valor |
|---|---|
| column (String) | Nombre de la columna con respecto a la que se ordenará. |
| condition (String)(Opcional) | Condición que deben de complir |
| regresa (Entero) | La suma de los valores de la columna indicada en column que cumplan la condición indicada en condition, en caso de ser nula, serán todos. |
$m->sum('id'); //=> 82
first(column)
| Campo | Valor |
|---|---|
| column (String)(Opcional) | Nombre de la columna con respecto a la que se ordenará. |
| regresa | El primer elemento ordenado. |
$r = $m->first();
// {"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}
Isi °ω°, (*8)
last(column)
| Campo | Valor |
|---|---|
| column (String)(Opcional) | Nombre de la columna con respecto a la que se ordenará. |
| regresa | El último elemento ordenado. |
$r = $m->last();
// {"id":"42","description":"Coyoacan Agosto 2015","water_mark":"W2hnsEkVyg"}
count(where='')
| Campo | Valor |
|---|---|
| where (String) | MySQL query |
| regresa | Entero |
$r = $m->where('description = "Pedro"');
echo $r;
// 0
Isier 7w7, (*9)
before_saveBefore_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. ¯\_(ツ)_/¯, (*10)
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;
}
}
?>
Use the force, read the code., (*11)
eulr.mx, 2015, (*12)
Object Oriented Model for php and MySQL
MIT
database object-oriented mysql object