全局模型创建与调用
优质
小牛编辑
133浏览
2023-12-01
全局模型概述
phpGrace 已经封装了极为便利的数据库操作,本身就是一种模型(数据模型)!使用全局模型具备以下优点:
1、极大的避免代码重复 2、复杂的业务逻辑封装 3、开发更具模块感
全局模型文件创建及命名规则
模型文件命名 : 模型名称.php 模型文件位置 : /phpGrace/models/对应模型文件 命名空间声明 : phpGrace\models
编写模型
<?php // 使用命名空间 phpGrace\models; // 类名与文件名一致 // 如果需要操作数据请继承 graceModel 继承模型 // 例 : /* * 模型类演示 以 person 数据表为例 * 作者 : 深海 5213606@qq.com * 一个自定义缓存类文件的例子, 实现了 persons 数据表 的列表数据及单条数据查询缓存 * 具体的缓存代码请根据项目情况自行编写 */ /*--- 对应的数据表, 将 sql 命令导入到您的数据库即可快速创建 persons 数据表 --- */ /* -- ---------------------------- -- Table structure for `persons` -- ---------------------------- DROP TABLE IF EXISTS `persons`; CREATE TABLE `persons` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `age` smallint(3) DEFAULT NULL, `addtime` int(11) DEFAULT NULL, `class` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `classid` (`class`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; -- ---------------------------- -- Records of persons -- ---------------------------- INSERT INTO `persons` VALUES ('5', '小米', '275', '1594885171', '一年一班'); INSERT INTO `persons` VALUES ('6', 'aa', '116', '1594885197', '一年一班'); INSERT INTO `persons` VALUES ('7', 'aa', '162', '1594885215', '一年一班'); INSERT INTO `persons` VALUES ('8', 'aa', '69', '1594885219', '一年一班'); INSERT INTO `persons` VALUES ('9', 'aa', '139', '1594886100', '一年一班'); */ namespace phpGrace\models; class persons extends \graceModel{ // 核心数据表名 public $tableName = 'persons'; // 核心数据表主键 public $tableKey = 'id'; // 获取人员数据列表 public function getList(){ return $this->m->order('id desc')->fetchAll(); } }
调用模型 model($modelName);
使用 phpGrace 的 model 函数可以快速的获取模型对象!参数:模型名称。
调用示例 :
<?php class testController extends grace{ public function index(){ $personsModel = model('persons'); $persons = $personsModel->getList(); p($persons); } }
寄语
01. 利用好模型可以极大的避免代码重复、使项目模块化、更容易扩展和维护 ^_^
02. phpGrace 1.2.2 版本已经支持在模型内使用缓存了,数据 + 缓存 可以是您的模型具备极强的复用性,详情请查看本手册缓存部分。