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

[HELP] 如何创建全局变量

[复制链接]
发表于 2014-4-14 14:15:59 | 显示全部楼层 |阅读模式
我想把$this->config->base_url();缩短点儿,因为使用频率很高
我自定义了一个类
PHP复制代码
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
 
class Myclass {
 
        public function __construct()
        {
                $CI =& get_instance();
                $_root = $CI->config->base_url();
        }
       
}
复制代码


然后在autoload里加上$autoload['libraries'] = array('myclass');

但在页面上echo $_root;
提示Undefined variable: _root
发表于 2014-4-16 17:37:42 | 显示全部楼层
<?php if(!defined('BASEPATH')) exit('no access');        class Myclass {                var $CI;                var $_root;                function __construct(){                        $this->CI=& get_instance();                        $this->_root=$this->CI->config->base_url();                }?>

访问的时候:echo $this->myclass->_root;

发表于 2014-4-14 19:54:41 | 显示全部楼层
librariey是以类形式掉用

你调用类中的变量  直接$_root肯定不行了……

你可以扩展下核心控制器类,把常用变量功能函数写核心类里,然后继承他
发表于 2014-4-15 17:09:06 | 显示全部楼层
goyuquan 发表于 2014-4-15 16:10
你这个函数用调用吗,能直接用吗,我就是想直接用

autoload加载 url helper , 反正肯定要用到的.

然后直接用
 楼主| 发表于 2014-4-14 15:53:50 | 显示全部楼层
从哪里声明?怎么样调用,我不想每次调用,想每次直接用
发表于 2014-4-14 17:43:28 | 显示全部楼层
在/application/config/constants.php,这个文件里面定义一个常量,用的时候直接调用,应该可以
发表于 2014-4-14 19:56:17 | 显示全部楼层
常量的话也可以写 constants.php里边
 楼主| 发表于 2014-4-15 09:57:53 | 显示全部楼层
嗯,试过了很好 constants.php里,
发表于 2014-4-15 16:03:24 | 显示全部楼层
PHP复制代码
 
echo base_url();
 
复制代码


不是有函数么~
 楼主| 发表于 2014-4-15 16:10:22 | 显示全部楼层

你这个函数用调用吗,能直接用吗,我就是想直接用

本版积分规则