PHP静态方法-“静态函数”和“静态方法”的区别是什么?和“公共静态函数”


php static methods - what is the difference between "static function" and "public static function"?

正如标题所说,我似乎看不出公共静态和普通静态之间有什么区别。即

public static function visitorUserCreate( $data  )
    {}

static function visitorUserCreate( $data  )
    {}

都是public,如果它们是,那么声明public又有什么意义呢?

From PHP manual documentation for Static Keywords:

为了与PHP 4兼容,如果没有使用可见性声明,那么属性或方法将被视为已声明为public。

回答你的问题

都是public,如果它们是,那么声明public又有什么意义呢?

。声明public的目的是为了可读性。在编译器级别上没有区别,但是声明它通常是很好的设计。

没有区别。如果没有声明,它将是公共的,因为这是默认行为。从PHP.net:

类方法可以定义为public、private或protected。方法没有任何显式可见性关键字的声明被定义为公众。

但是有一个点。以下是引用自《PHP The Right Way》:

理想情况下,您应该编写遵循已知标准的PHP代码。这可以是PSR的任意组合,也可以是其中一个编码由PEAR或Zend制定的标准。这意味着其他开发人员可以使用易于阅读和使用您的代码,以及实现的应用程序即使在使用许多组件时,组件也可以保持一致性第三方代码。

根据PSR-2,这是PHP-FIG批准的风格建议之一:

必须在所有属性和方法上声明可见性;摘要和final必须在可见性之前声明;必须是静态的