ci如何 获得config/database.php里的配置的配置信息
RT分析了一个database/DB.php
DB.php中获得变量的方式都是include进去然后处理的。
所以ci 获取db中配置信息不能load 也只能include来处理
或者把自己的配置信息写到myconfig.php ,自定义的file中,然后load进来!
看大家有没有更好的方法 来获得database.php的配置; 你获取 db 的配置做什么用?
PS: 貌似 $config 是全局变量,你可以直接使用吧? 你获取 db 的配置做什么用?
PS: 貌似 $config 是全局变量,你可以直接使用吧?
Hex 发表于 2009-7-1 17:14 http://codeigniter.org.cn/forums/images/common/back.gif
写数据库扩展的自定义类,ci的oracle驱动问题很大,而且不支持clob操作;
$config是全局变量?config也需要$this->config->item('configName');
看来只能这样了
$this->load->library('oci');
$this->config->load('myconfig');
$this->oci->conn($this->config->item('dbname'),$this->config->item('dbpasswd'));
$this->oci->get();
…… 如果你的数据库类都是自己做的,完全可以不用 CI 的数据库配置。另起炉灶吧。 如果你的数据库类都是自己做的,完全可以不用 CI 的数据库配置。另起炉灶吧。
Hex 发表于 2009-7-1 17:27 http://codeigniter.org.cn/forums/images/common/back.gif
也只能这样做;
写数据库扩展的自定义类,ci的oracle驱动问题很大,而且不支持clob操作;
$config是全局变量?config也需要$this->config->item('configName');
看来只能这样了
$this->load->library('oci');
$this->config->lo ...
xian366 发表于 2009-7-1 17:24 http://codeigniter.org.cn/forums/images/common/back.gif
这样就变成赤果果的db直连了,为了美观和潮还是封装好吧
这样就变成赤果果的db直连了,为了美观和潮还是封装好吧
visvoy 发表于 2009-7-1 18:23 http://codeigniter.org.cn/forums/images/common/back.gif
你的意思是如何封装? 百毒或骨骼搜索“类封装” 本帖最后由 xian366 于 2009-7-2 10:21 编辑
百毒或骨骼搜索“类封装”
visvoy 发表于 2009-7-2 09:43 http://codeigniter.org.cn/forums/images/common/back.gif
呵呵,不明白你的意思是什么,何谓”封装类“
不过现在已经是实现了类似activeRecord的操作方法,
$this->oci->select('id,name,title')->where('id < 110')->from('test2')->limit(2,5)->get();
考虑到与Oci与oci更低的耦合,能够在别的框架中使用,别的框架中很很少支持CLOB操作,CI的OCI驱动是基于php4的。
$this->oci->conn();
获取资源可以省略,直接在library初始化中获取资源对象,就需要
include(APPPATH.'config/database'.EXT);
...
$params = $db[$active_group];
......
CI/database/DB.php就是这样做的。
如果这样,重用性就差了,得不偿失,而且需要在初始化的时候获取资源标识。
这样在别的框架中plugin进去;
现在正考虑$this->oci->insert();$this->oci->where()->update 方法支持CLOB,怎么对象绑定,
由于CLOB、BLOB和普通的insert update不同,怎么才能和active record的操作更小的差别来实现,更简单的大数据块的操作! 本帖最后由 xian366 于 2009-7-2 10:35 编辑
现在打算这样
$data=array(
'name'=>'tester',
'title'=>'this is a test',
'comments'=>array('CLOB'=>yourBlobData)
);
$this->oci->insert('yourtablename',$data);
这样看合理不?大家有没有更好的方法,
或者这样:
$data=array(
'name'=>'tester',
'title'=>'this is a test',
'comments'=>array('CLOB','yourBlobData')
);
$this->oci->insert('yourtablename',$data);
generated SQL:
insert into test2 (name,tittle,comments) values ('tester','this is a test!',EMPTY_CLOB()) RETURNING comments INTO :myclob
页:
[1]
2