如何在类函数内部访问定义的变量

时间:2015-05-14 06:15:53

标签: php codeigniter

我的代码是

$var = md5(rand(1,6));
class Session{
  protected $git;
  public function __construct($config = array())
  {
     //// some code

  }
  public function _start_session()
  {
      //code again..
  }
}

我想使用" $var"类中的值作为全局函数。

请告诉我如何操作。

4 个答案:

答案 0 :(得分:0)

任何类外的函数都是全局的,可以从任何地方调用。与变量相同..只记得使用全局变量。

$var = md5(rand(1,6));
class Session{
  protected $git;
  public function __construct($config = array())
  {
    global $var;
    //// some code`
  }
  public function _start_session()
  {
    //code again..
  }
}

答案 1 :(得分:0)

将$ var定义为全局,然后直接使用 喜欢这个..

<?php
function abc() {  }

$foo = 'bar';

class SomeClass {  
 public function tada(){
     global $foo;

     abc();
     echo 'foo and '.$foo;
 }
}
?>

答案 2 :(得分:0)

您可以随意使用在全局范围内定义的变量(使用关键字全局)。

但你的榜样并不是一个好主意。如果要更改$var的行为或名称,则应重写所有代码...

尝试将函数wrap甚至static类用于globalize您的变量$var

答案 3 :(得分:0)

您可以使用依赖注入。将所需变量传递给构造函数的位置

$var = md5(rand(1,6));

$session = new Session($var);
$session->_start_session();

class Session{

   public function __construct($var, $config = array())
   {
       $this->var = $var;
   }
   public function _start_session()
   {
       echo $this->var;
      //code again..
   }
}