HTTPBody
在这里,我不能将这样的随机值分配给名为git的变量。如果有可能,我怎么能这样做? 该随机值只需要首次生成值,直到它转换为Null为止。
答案 0 :(得分:4)
在构造函数中随机执行,
class Session{
protected $git;
public function __construct($config = array())
{
//// some code
$this->git = md5(rand(1,6));
$ses_id = $this->git;
}
public function _start_session()
{
//code again..
}
}
答案 1 :(得分:0)
在类中声明一个变量,在构造函数中初始化类中的变量,一旦在代码中的任何地方声明该类的对象,就会设置变量。
如果您不想在每个构造函数调用上更改会话变量,请更新此答案,然后使用以下过程。
class Session{
protected $git;
public function __construct($config = array())
{
$this->git = md5(rand(1,6));
if(!isset($_SESSION['ses_id']))
{
$_SESSION['ses_id'] = $this->git;
}
}
public function _start_session()
{
//code again..
}
}
我希望这会对你有所帮助。
答案 2 :(得分:0)
尝试在构造函数中设置变量的值。
每次创建类的实例时,构造函数都会运行。
试试这段代码:
class Session{
protected $git;
public function __construct($config = array())
{
//// some code
$this->git = md5(rand(1,6));
}
public function _start_session()
{
//code again..
}
}
:)
答案 3 :(得分:0)
使用全局变量来跟踪随机数:
class Session{
protected $git;
public function __construct($config = array())
{
//// some code
if (!isset($GLOBALS['random_val'])) {
$GLOBALS['random_val'] = md5(rand(1,6));
}
$this->git = $GLOBALS['random_val'];
$ses_id = $this->git;
var_dump("Session ID: ".$ses_id);
}
public function _start_session()
{
//code again..
}
}
$ses1 = new Session(); // Outputs string(44) "Session ID: 1679091c5a880faf6fb5e6087eb1b2dc"
$ses2 = new Session(); // Outputs string(44) "Session ID: 1679091c5a880faf6fb5e6087eb1b2dc"