goyuquan 发表于 2014-4-14 14:15:59

如何创建全局变量

我想把$this->config->base_url();缩短点儿,因为使用频率很高
我自定义了一个类
<?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

csdli 发表于 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肯定不行了……

你可以扩展下核心控制器类,把常用变量功能函数写核心类里,然后继承他

IvanCI 发表于 2014-4-15 17:09:06

goyuquan 发表于 2014-4-15 16:10
你这个函数用调用吗,能直接用吗,我就是想直接用

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

然后直接用

dayrui 发表于 2014-4-14 15:40:34

define

goyuquan 发表于 2014-4-14 15:53:50

从哪里声明?怎么样调用,我不想每次调用,想每次直接用

smilecc123 发表于 2014-4-14 17:43:28

在/application/config/constants.php,这个文件里面定义一个常量,用的时候直接调用,应该可以:lol

一叶扁舟 发表于 2014-4-14 19:56:17

常量的话也可以写 constants.php里边

goyuquan 发表于 2014-4-15 09:57:53

嗯,试过了很好 constants.php里,

IvanCI 发表于 2014-4-15 16:03:24


echo base_url();


不是有函数么~

goyuquan 发表于 2014-4-15 16:10:22

IvanCI 发表于 2014-4-15 16:03
不是有函数么~

你这个函数用调用吗,能直接用吗,我就是想直接用
页: [1] 2
查看完整版本: 如何创建全局变量