[英]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.