PSR 和构造函数可见性
PSR and constructor visibility
根据PSR-2
Visibility MUST be declared on all properties and methods
但是 __construct
呢,它是特定的功能,我想知道当我们使用 PSR
时它是否也应该默认标记为 public
?
是的,您还应该声明 __construct() 方法的可见性。在某些情况下 __construct 不像
public
abstract class Singleton {
private static $instances;
final public static function getInstance() {
$className = get_called_class();
if(isset(self::$instances[$className]) == false) {
self::$instances[$className] = new static();
}
return self::$instances[$className];
}
protected function __construct() { }
}
根据PSR-2
Visibility MUST be declared on all properties and methods
但是 __construct
呢,它是特定的功能,我想知道当我们使用 PSR
时它是否也应该默认标记为 public
?
是的,您还应该声明 __construct() 方法的可见性。在某些情况下 __construct 不像
publicabstract class Singleton {
private static $instances;
final public static function getInstance() {
$className = get_called_class();
if(isset(self::$instances[$className]) == false) {
self::$instances[$className] = new static();
}
return self::$instances[$className];
}
protected function __construct() { }
}