eulr / oom
面向对象模型,用于php和MySQL
dev-master
2017-07-20 03:50 UTC
Requires
- php: >=5.3.0
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