eulr/oom

Object Oriented Model for php and MySQL

dev-master 2017-07-20 03:50 UTC

This package is not auto-updated.

Last update: 2024-09-18 18:38:45 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