正如标题所说,我似乎无法看到公共静态和普通静态之间的差异。即
public static function visitorUserCreate( $data )
{}
和
static function visitorUserCreate( $data )
{}
两者似乎都是公开的,如果默认情况下声明公开是什么意思?
答案 0 :(得分:5)
来自PHP manual documentation for Static Keywords:
为了与PHP 4兼容,如果没有使用可见性声明,那么属性或方法将被视为声明为public。
回答你的问题:
两者似乎都是公开的,如果默认情况下声明公开是什么意思?
无。宣布公开的目的是为了提高可读性。在编译器级别没有区别,但是通常很好的设计来声明它。
答案 1 :(得分:3)
没有区别。如果未声明,则它将是公共的,因为这是默认行为。来自PHP.net:
类方法可以定义为public,private或protected。方法 声明没有任何显式可见性关键字被定义为 公共
但是,有一点。以下是PHP The Right Way的引用:
理想情况下,您应该编写符合已知标准的PHP代码。 这可以是PSR的任何组合,也可以是编码之一 PEAR或Zend制定的标准。这意味着其他开发人员可以 轻松阅读和使用您的代码,以及实施的应用程序 即使在处理大量的组件时,组件也可以具有一致性 第三方代码。
必须在所有属性和方法上声明可见性;抽象 最终必须在能见度之前宣布;必须是静态的 在能见度之后宣布。