CodeIgniter学习笔记三:扩展CI的控制器、模型
发布时间:2020-05-30 20:16:25 所属栏目:PHP 来源:互联网
导读:一、扩展CI中的控制器有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现。扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑。关
一、扩展CI中的控制器有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现。 扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑。 关于上面这句话,有两点需要解释一下: 1、为什么要在application/core文件夹中:是因为基类CI_Controller是在system/core文件夹中,这里需要跟system中对应。 2、为什么扩展的控制器前缀是MY_,可否换成其他的:这个前缀是在application/config/config.php中定义的: ['subclass_prefix'] = 'MY_';只需要这两处对应上就可以了。 二、模型示例application/models/user_model.php: User_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></pre>
注意点: 1、文件名全小写 2、类名首字母大写 3、模型中可以使用超级对象中的属性 4、建议用_model作后缀,防止跟其他类名冲突 使用示例: -> load -> model('User_model' = -> User_model -></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;">);
} 模型主要用于规范项目结构。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
