实例对象可以调用静态方法而不是静态变量

时间:2016-03-16 20:27:21

标签: php oop static

我试图用PHP包围静态关键字。在这里,我编写了一小段代码,person1 Human实例可以调用名为sayRealname()的静态方法。但是当我尝试调用公共静态变量时,它会出错。这是什么原因?

class Human{
    public static $age=34;
    public static $name='humpty dumpty';
    protected static $realname='al';

    public static function sayRealname(){
        echo self::$age;
    }
}

$person1=new Human();
echo $person1->name; // error
$person1->sayRealname(); // prints 34

1 个答案:

答案 0 :(得分:0)

当您访问静态内容时,需要使用静态运算符::

另一方面,箭头操作符->意味着在实例上下文中使用,该实例上下文在被调用时属于特定实例。

您可以在documentation的这一部分阅读更多相关信息。