繁体   English   中英

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

[英]How to access a variable defined out side into inside a class function

我的代码是

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

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

我想在类函数内部将“ $var ”值用作全局值。

请更新我的操作方法。

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

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

将$ var定义为全局变量,然后像这样直接使用。

<?php
function abc() {  }

$foo = 'bar';

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

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

您可以随意使用在全局上下文中定义的变量(使用关键字global )。

但是您的榜样不是一个好主意。 当您要更改$var行为或名称时,应重写所有代码...

尝试使用函数wrap甚至static类来globalize变量$var

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

$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..
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM