eulr/oom

面向对象模型,用于php和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是一个基类,用于将MySQL数据库作为对象从PHP中使用。

构建表示表的类

你需要require OOM.php

require_once '/vendor/eulr/oom/OOM.php'

并从OOM继承

class Modelo extends OOM

在类的构造函数中,你需要添加数据库中表的名字。

function __construct(){
    $this->model_name = "modelo";
}

如下所示

<?php
	require_once 'OOM.php';
	class Modelo extends OOM{
		function __construct(){
			$this->model_name = "modelo";
		}

	}
	$m = new Modelo();
?>

方法(OOM能帮助你做的事情)😅

方法: all()

实现

$m_result = $m->all();
echo json_encode($m_result);

方法: find(id, full_obj = false)

同样将返回值赋给调用对象,如果你不想使用额外的变量。 ¯_(ツ)_/¯

实现

$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)

实现

$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)

实现

$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)

实现

$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)

实现

$m->create('{"description": "Hola", "water_mark": "L20Fd4F33F"}');

方法: save()

实现

$m = new Modelo();
$m->attr["description"] = "Ejemplo 1";
$m->attr["water_mark"] = "02t034FVB2";
$m->save();

Isi °ω°

方法: drop(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)

实现

$m->sum('id'); //=> 82

方法: first(column)

实现

$r = $m->first();
// {"id":"40","description":"Coyoacan Agosto 2015","water_mark":"oAt01dN9OM"}

Isi °ω°

方法: last(column)

实现

$r = $m->last();
// {"id":"42","description":"Coyoacan Agosto 2015","water_mark":"W2hnsEkVyg"}

方法: count(where='')

实现

$r = $m->where('description = "Pedro"');
echo $r; 
// 0

Isier 7w7

#杂项等。

before_save

Before_save 是一种帮助你验证或执行在保存到数据库之前操作的方式,可能存在,也可能不存在,根据你的需要。 ¯_(ツ)_/¯

使用方法

	<?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;
		}
	}
?>
如果有疑问,引用Santi的话

使用力量,阅读代码。

eulr.mx, 2015 ######我完成这个的时间比类本身还多 :c