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

怎么在实例化控制器前load helper

[复制链接]
发表于 2009-2-6 10:09:08 | 显示全部楼层 |阅读模式
主要是在钩子里,

$uri
=& load_class('URI');
可以直接load类库,

那怎么在实例化前 load helper 函数?
发表于 2009-2-6 10:42:55 | 显示全部楼层
放到 autoload 里,config 目录下的
 楼主| 发表于 2009-2-6 10:51:36 | 显示全部楼层
放到 autoload 里,config 目录下的
Hex 发表于 2009-2-6 10:42


我不太喜欢autoload,并不是所有的类都要用到,为什么全部装载?

有没有函数可以调用的? 就像 load_class
发表于 2009-2-6 11:35:21 | 显示全部楼层
这个貌似没有了吧,全部装载和部分装载有什么区别
 楼主| 发表于 2009-2-6 12:25:44 | 显示全部楼层
我只是考虑到装载用不到的组件,不是增加了额外的没必要的操作吗?
就像去开一个门,全部装载就是把所有门的钥匙都拿出来,部分装载是只拿一把钥匙
既然我只开一个门,其他钥匙都用不到,为什么要全部拿出来?
发表于 2009-2-6 18:18:39 | 显示全部楼层
那你就在你用的时候 load helper
你是说在钩子中做这件事?
 楼主| 发表于 2009-2-9 11:48:23 | 显示全部楼层
是, 在pre_controller中 调用。

include_once(APPPATH.'helpers/MY_url_helper.php'.EXT);
新建一个 MY_url_helper.php 重写 override site_url()
就可以了,感觉用到的地方不是很多

PHP复制代码
if ( ! function_exists('site_url'))
{
    function site_url($uri = '')
    {
        $config =& load_class('Config');
        return $config->site_url($uri);
    }
}
复制代码

本版积分规则