一、扩展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 userspublicfunction getall() { $res = $this -> db -> get('test'); return$res -> result(); } }
注意点:
1、文件名全小写
2、类名首字母大写
3、模型中可以使用超级对象中的属性
4、建议用_model作后缀,防止跟其他类名冲突
使用示例:
publicfunction 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);}
模型主要用于规范项目结构。
以上就介绍了codeigniter学习笔记三:扩展ci的控制器、模型,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。