CodeIgnitor 缓存驱动类的使用
最近在给 redis 驱动类添加新的方法时又陷入了疑惑中,理不清这里面的类关系,所以这次彻底梳理一下。
CodeIgnitor 中使用缓存是通过 Libaray 下的 CI_Cache
代理调用 drivers 下的缓存驱动实现类(Cache_redis
)方式进行的。
日常问题之收集:CI框架篇(持续更新)
CodeIgnitor 3.0.x 之 Load 加载机制
CI 框架中的 library 和很多内置的类都是通过 CI_Loader
这个类加载的,也就是 Controller 中常常出现的 $this->load
属性。那么它本身是如何被加载的。
CI_Loader 初始化
这一切又要从最初的入口点 index.php
说起了。首先,外界的请求定位到了 index.php
,所有的请求的处理都是从这里开始的。大略看一下 index.php
的内容,其实也很简单,就是利用当前文件的位置,定义了一些环境和路径常量,比如 ENVIRONMENT
, BASEPATH
, APPPATH
, VIEWPATH
,基于这些常量,又定义了一些全局变量:$system_path
, $application_folder
, $view_folder
,最后加载了CI框架的核心类:core/CodeIgnitor.php
,完成了它的使命。
CI 启用性能分析器
在控制器方法的任何地方加入
$this->output->enable_profiler(TRUE);
然后禁用掉自己写的输出类,
那么框架自带的输出类就会输出性能分析信息。
CodeIgnitor 配置类的使用
CI 的配置文件统一放在 application/config/
目录下面,框架有一个默认的主配置文件 application/config/config.php
。其部分内容如下:
<?php
$config['uri_protocol'] = 'REQUEST_URI';
// ...
$config['charset'] = 'UTF-8';
// ...
$config['subclass_prefix'] = 'My_';
CI框架入门笔记
当前(2019-03-22)CodeIgniter 框架的最新版本是 3.1.5,于2017年6月发布,距今快两年了也没有更新,这与 Laravel 的更新速度相比差距太大了。因为确实,它是一个很古老的框架了(第一个版本在2006年发布),当初的设计原则,开发环境与现在都已经大为不同。它有自己的设计原则,有相配套的一大堆工具、库,使用这些现有的工具就已经能很好地满足日常开发所需。
虽然已经是2019年了,但是公司用的框架是CI框架,所以我也应当快速适应CI框架的开发模式。本文就针对CI框架开发中的一些重点问题进行梳理和记录。CI框架的官网文档 很完善,但是我觉得仍然有必要整理出自己的一套实用规则。