我用这个静态函数编写了这个类。 为什么当我创建这个类的新对象时,我得到一个错误?
<?php
class alluser
{
private $var1;
private $var2;
public function __construct($string)
{
$this->var1 = $string;
$this->var2 = self::user();
}
private static function user()
{
return $this->var1;
}
}
?>
所以我尝试测试这个类:
$user=new alluser('admin');
我收到了这个错误:
( ! ) Fatal error: Using $this when not in object context in G:\wampserver\www\ne43\test\cake\develop\classes\alluser.php on line 15
我想我不能在静态方法中使用$ this但是最好的alernative方法是什么?
答案 0 :(得分:0)
$这是 NOT 可在静态内容中访问。
这有效,但对我没有意义:
<?php
class alluser {
private static $var1;
private $var2;
public function __construct($string) {
self::$var1 = $string;
$this->var2 = self::user();
}
private static function user() {
return self::$var1;
}
public function getVar1() {
return self::$var1;
}
}
$user=new alluser('admin');
echo $user->getVar1();