• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-23) 31次浏览 已收录 0个评论

一、扩展CI中的控制器

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

扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Co+本文来源gao@daima#com搞(%代@#码网

搞代gaodaima码

ntroller类即可,然后在这个类中实现自己需要的逻辑。

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

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

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

<span>$config</span>['subclass_prefix'] = 'MY_';

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

二、模型

示例application/models/user_model.php:

<?<span>php    </span><span>/*</span><span>*    * User_model    </span><span>*/</span><span>class</span> User_model <span>extends</span><span> CI_Model{        </span><span>//</span><span>return all users</span><span>public</span><span>function</span><span> getAll() {            </span><span>$res</span> = <span>$this</span> -> db -> get('test'<span>);            </span><span>return</span><span>$res</span> -><span> result();        }    }</span>

注意点:

1、文件名全小写

2、类名首字母大写

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

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

使用示例:

<span>public</span><span>function</span><span> index() {    </span><span>//</span><span>load model</span><span>$this</span> -> load -> model('User_model'<span>);    </span><span>$usermodel</span> = <span>$this</span> -> User_model -><span> getAll();    </span><span>//</span><span>别名</span><span>$this</span> -> load -> model('User_model', 'user'<span>);    </span><span>$usermodel</span> = <span>$this</span> -> user -><span> getAll();    </span><span>var_dump</span>(<span>$usermodel</span><span>);}</span>

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

以上就介绍了CodeIgniter学习笔记三:扩展CI的控制器、模型,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CodeIgniter学习笔记三:扩展CI的控制器、模型

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址