CodeIgniter学习笔记三:扩展CI的控制器、模型
2024-08-30 18:22:29
一、扩展CI中的控制器
有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现。
扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑。
关于上面这句话,有两点需要解释一下:
1、为什么要在application/core文件夹中:是因为基类CI_Controller是在system/core文件夹中,这里需要跟system中对应。
2、为什么扩展的控制器前缀是MY_,可否换成其他的:这个前缀是在application/config/config.php中定义的:
$config['subclass_prefix'] = 'MY_';
只需要这两处对应上就可以了。
二、模型
示例application/models/user_model.php:
<?php
/**
* User_model
*/
class User_model extends CI_Model{ //return all users
public function getAll() {
$res = $this -> db -> get('test');
return $res -> result();
}
}
注意点:
1、文件名全小写
2、类名首字母大写
3、模型中可以使用超级对象中的属性
4、建议用_model作后缀,防止跟其他类名冲突
使用示例:
public function index() {
//load model
$this -> load -> model('User_model');
$usermodel = $this -> User_model -> getAll(); //别名
$this -> load -> model('User_model', 'user');
$usermodel = $this -> user -> getAll();
var_dump($usermodel);
}
模型主要用于规范项目结构。
最新文章
- jexus5.8.2 linux x64专业版 配置https
- TCP连接建立和终止小结
- 创建WP8试用应用
- 《CoffeeScript应用开发》学习:第二章 编写第一个CoffeeScript应用程序
- UVa 673 Parentheses Balance
- 提高Objective-C代码质量心机一:简化写法
- 我的MySQL5.6免安装版配置过程
- Nginx高性能服务器安装、配置、运维 (1) —— Nginx简介
- 常用颜色大全---RGB值及中英文名称
- mysql中explain优化分析
- apk文件伪装zip64格式案例
- TriggerPrefab 拖拽物体
- 解决微信公众号授权登录和开放平台微信第三方应用授权登录获取到的用户Openid关联问题
- How to Build a New Habit: This is Your Strategy Guide
- 了解AutoCAD对象层次结构 —— 4 —— 符号表
- Xcode9.2打包图片显示异常解决方案
- delphi 连接DBF
- Mysql 间隙锁原理,以及Repeatable Read隔离级别下可以防止幻读原理(百度)
- 002-and design-dva.js 知识导图-01JavaScript 语言,React Component
- JavaScript数据结构-4.栈操作