我创建一个php类的新对象时出错

时间:2014-06-06 22:42:55

标签: php function class

我用这个静态函数编写了这个类。 为什么当我创建这个类的新对象时,我得到一个错误?

<?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方法是什么?

1 个答案:

答案 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();