CodeIgniter相关配置分析

core/controller 49行 $this->load->initlialize() 包含autoload设置的 加载类

1.active_group

导入database.php 配置文件 active_group =’default’
如果使用load->database(‘xx’) 指定了key active_group 就为key
session类 87行 连接默认数据库  $this->CI->load->database();
active_group default 就会连接default指定的数据库

如果配置文件把active_group 改成ask_ext 则会连接ask_ext 错误。

 2.active_record

active_record=false
CI_DB_driver::insert_string()

active_record=true
CI_DB_active_record::insert()  也有父类的CI_DB_driver::insert_string()
都调用CI_DB_mysql_driver::_insert()获取最终的sql

DB.php 120行 
定义类CI_DB 继承CI_DB_active_record 或 CI_DB_driver,CI_DB_active_record 本身继承了CI_DB_driver,mysql_driver.php (CI_DB_mysql_driver)继承

 CI_DB(eval(‘class CI_DB extends CI_DB_active_record { }’);)

active_record=false
CI_DB_mysql_driver ~ CI_DB ~ CI_DB_driver

active_record=true
CI_DB_mysql_driver ~ CI_DB ~ CI_DB_active_record ~ CI_DB_driver
$this->load->database(‘xx’,true);返回的为CI_DB_mysql_driver类的对象、
3.CI_Session:
session_id为自定义的 非phpsessid

cookie $session存session_id、ip_address、user_agent
取出作为where条件 去数据库查询出data
再塞给$session 赋值给$this->userdata

关于 Administrator

爱拼才会赢!
此条目发表在 Php 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>