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

[讨论/交流] 引入全局缓存的问题

[复制链接]
发表于 2009-9-9 17:15:19 | 显示全部楼层 |阅读模式
比方说我要引入网站的配置文件cache_category_helper.php, 因为各个地方都要用到,所有准备autoload加载, 此文件放在application/helpers下,文件内容如下,就是个数组
$category = array (
      0 =>
      array (
        'cate_name' => 'cn Leawo DVD23GP',
        'setup_filename' => 'ddd',
      ),
      1 =>
      array (
        'cate_name' => 'cn Leawo DVD23GP',
        'setup_filename' => '',
      ),
      2 =>
      array (
        'cate_name' => 'cn Leawo DVD2AVI',
        'setup_filename' => '',
      ),
      3 =>
      array (
        'cate_name' => 'cn Leawo DVD2iPhone',
        'setup_filename' => '',
      ),

    );

$this->load->helper('cache_category');
print_r($category);
报错:Message:  Undefined variable: category

我直接引入该文件
include APPPATH. 'helpers/cache_category_helper.php';
print_r($category);
没有问题

把上面的数组装成一个函数
function category(){
$category = array (
      0 =>
      array (
        'cate_name' => 'cn Leawo DVD23GP',
        'setup_filename' => 'ddd',
      ),
      1 =>
      array (
        'cate_name' => 'cn Leawo DVD23GP',
        'setup_filename' => '',
      ),
      2 =>
      array (
        'cate_name' => 'cn Leawo DVD2AVI',
        'setup_filename' => '',
      ),
      3 =>
      array (
        'cate_name' => 'cn Leawo DVD2iPhone',
        'setup_filename' => '',
      ),

    );
    return $category;
}
$this->load->helper('cache_category');
print_r($category);
没有问题

$this->load->heper();也是include 为何和直接的incldue 不一样呢?
需要做何调整?
发表于 2009-9-9 17:55:26 | 显示全部楼层
应该用全局关键字声明一下,再使用。
最好用 CI 的 config 类来做这件事。
发表于 2009-9-9 18:21:59 | 显示全部楼层
恩,如果你是为了更好的可读性和遵循规范,就应该用CONFIG类来做
发表于 2009-9-9 18:27:25 | 显示全部楼层
这是php基础呀,函数里面include的变量作用域仅限此函数内,->helper()里面加载的$category,在其外部怎么能引用呢?作用域不同
发表于 2009-12-1 17:08:01 | 显示全部楼层
最好用 CI 的 config 类来做这件事?
怎么用呢!能举个例子吗
我也遇到同样的问题
发表于 2009-12-1 19:03:37 | 显示全部楼层

本版积分规则