使用 - >静态函数

Jos*_*oon 1 php

嗨,我对OOP有点新手,我只是有一个简单的问题:说我在一个声明为类的类中有一个函数

class House
{
    public static function hasAlcohol() 
    {
        // Do Something
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以称之为

House::hasAlcohol()
Run Code Online (Sandbox Code Playgroud)

但是,我还想知道它是否可以使用编码标准和PHP,如果从一个房子的实例调用hasAlcohol()是没有错误的(我试过它并且没有错误),例如

$house = new House();
$house->hasAlcohol();
Run Code Online (Sandbox Code Playgroud)

Tim*_*per 5

因为这在过去给我带来了一些问题: 是的,它是有效的代码.你应该这样做吗?.它给人的印象是,呼叫是非静态的,并且很可能会让以后处理代码的人感到悲伤.没有理由让你的代码含糊不清.

这曾经是可能的,但如果我没记错的话,最新版本的PHP会抛出错误.你应该静态调用静态函数.你可以这样做$house::hasAlcohol().