PSR和构造函数可见性

3
根据 PSR-2,所有属性和方法都必须声明可见性。但是对于特定功能__construct,当使用PSR时,是否应默认将其标记为public呢?
1个回答

4

是的,你也应该为__construct()方法声明可见性。在某些情况下,__construct不是公共的,比如

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() { }

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接