首页 > 后端开发 > php教程 > 二、模型

二、模型

WBOY
发布: 2016-06-13 12:21:33
原创
894 人浏览过

CodeIgniter学习笔记三:扩展CI的控制器、模型

一、扩展CI中的控制器

有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现。

扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑。

关于上面这句话,有两点需要解释一下:

1、为什么要在application/core文件夹中:是因为基类CI_Controller是在system/core文件夹中,这里需要跟system中对应。

2、为什么扩展的控制器前缀是MY_,可否换成其他的:这个前缀是在application/config/config.php中定义的:

<span style="color: #800080;">$config</span>['subclass_prefix'] = 'MY_';
登录后复制

只需要这两处对应上就可以了。

二、模型

示例application/models/user_model.php:

<span style="color: #000000;">php    </span><span style="color: #008000;">/*</span><span style="color: #008000;">*    * User_model    </span><span style="color: #008000;">*/</span>    <span style="color: #0000ff;">class</span> User_model <span style="color: #0000ff;">extends</span><span style="color: #000000;"> CI_Model{        </span><span style="color: #008000;">//</span><span style="color: #008000;">return all users</span>        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> getAll() {            </span><span style="color: #800080;">$res</span> = <span style="color: #800080;">$this</span> -> db -> get('test'<span style="color: #000000;">);            </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$res</span> -><span style="color: #000000;"> result();        }    }</span>
登录后复制

注意点:

1、文件名全小写

2、类名首字母大写

3、模型中可以使用超级对象中的属性

4、建议用_model作后缀,防止跟其他类名冲突

使用示例:

<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> index() {    </span><span style="color: #008000;">//</span><span style="color: #008000;">load model</span>    <span style="color: #800080;">$this</span> -> load -> model('User_model'<span style="color: #000000;">);    </span><span style="color: #800080;">$usermodel</span> = <span style="color: #800080;">$this</span> -> User_model -><span style="color: #000000;"> getAll();    </span><span style="color: #008000;">//</span><span style="color: #008000;">别名</span>    <span style="color: #800080;">$this</span> -> load -> model('User_model', 'user'<span style="color: #000000;">);    </span><span style="color: #800080;">$usermodel</span> = <span style="color: #800080;">$this</span> -> user -><span style="color: #000000;"> getAll();    </span><span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$usermodel</span><span style="color: #000000;">);}</span>
登录后复制

模型主要用于规范项目结构。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板