有办法:
class foo {
private $skey;
if(isset($_SESSION['some_val']) {
function __construct(){
$skey = 'something';
}
}
}
如果$key
不存在,我只想创建$_SESSION['some_val']
(某物)的初始值。
提前致谢
修改
这就是我帮助你做的事情
function __construct() {
if(!isset($_SESSION['skey'])) {
$tp = new Text_Password();
$skey = $tp->create();
$this->skey = $skey;
$_SESSION['skey'] = $this->skey;
}
}
答案 0 :(得分:1)
不。但是,您可以这样做:
class foo {
function __construct()
{
if(isset($_SESSION['some_val'])
{
$this->key = 'something';
}
}
}
答案 1 :(得分:0)
你应该把它放在构造方法中。
class foo {
private $key;
public function __construct(){
if(isset($_SESSION['some_val']) {
$this->key = 'something';
}
}
}
答案 2 :(得分:0)
不,那是不可能的。你可以这样做:
class foo {
private $key;
function __construct(){
if (isset($_SESSION['some_val']) {
$this->key = 'something';
} else {
$this->key = null;
}
}
}
或者更好的是,使用参数化构造函数并将$_SESSION
内容保留在主应用程序中:
class foo {
private $key;
function __construct($init = null){
$this->key = $init;
}
}
然后在你的主应用程序中:
if (isset($_SESSION['some_val'])) {
$f = new foo('something');
} else {
$f = new foo();
}