用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3814|回复: 3
收起左侧

[已解决] 请问下数据库类CI_DB在哪定义的?

[复制链接]
发表于 2011-8-14 21:27:35 | 显示全部楼层 |阅读模式
在看数据库操作类的时候,system/database/drivers/mysql/mysql_driver.php
class CI_DB_mysql_driver extends CI_DB
请问这个继承 CI_DB 的类在哪,我找了很久都没找到。PHP继承一个没有定义的类会报错啊,但是CI没报错
在system/database/DB.php
require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver'.EXT);
这句之前,查看get_declared_classes()出来的数组是没有
CI_DB
CI_DB_mysql_driver


但是在require system/database/drivers/mysql/mysql_driver.php文件后
CI_DB
CI_DB_mysql_driver
2个类都自动定义了,想问为什么。
发表于 2011-8-14 21:43:07 | 显示全部楼层
CI_DB 是在 DB.php 里用 eval 函数定义的。。。建议多用全文搜索工具搜索源码。
DB.php 是个有用的文件,打开好好研究一下吧!

PS: 不可能存在违反 PHP 语法的情况,CI 不是 C++ 开发的,呵呵
 楼主| 发表于 2011-8-14 22:03:47 | 显示全部楼层
啊,我太粗心了,我一直以为里面eval是die(), 以为是错误输出。。。。
这下我知道了。我再研究下源码
全文搜索工具哪些比较好用,能不能推荐一个
发表于 2011-8-14 23:02:18 | 显示全部楼层
weizhao 发表于 2011-8-14 22:03
啊,我太粗心了,我一直以为里面eval是die(), 以为是错误输出。。。。
这下我知道了。我再研究下源码
全 ...

我就用 EmEditor 中的搜索,呵呵~
Windows 下编辑器用了一圈,还是这个最好用。

本版积分规则