无论如何在PHP中定义公共或私有或受保护的类

时间:2012-02-08 11:09:32

标签: php visibility

无论如何都要在命名空间中创建公共,私有或受保护的类,就像java一样?

像...

namespace foo;

public class Account {
  .......
}


private class PrivateAccount {
 .......
}

如果在PHP中有任何解决方法,请告诉我。

2 个答案:

答案 0 :(得分:3)

不,PHP中的类可能不是公共的,而是隐式声明的。来自PHP docs上的classes in PHP5

  

基本类定义以关键字class开头,后跟一个类名,后跟一对花括号,它们包含属于该类的属性和方法的定义。

在类前面放置一个可见性关键字可能会导致致命错误。

答案 1 :(得分:1)

通常,您所做的是声明类private的构造函数。然后,您可以在类中创建一个单独的静态函数,它将执行一些检查(即检查命名空间)并通过调用私有构造函数有条件地返回该类的实例。这通常也是您实施单身人士的方式。