一、扩展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>$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教程有兴趣的朋友有所帮助。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号