php – 实例作为静态类属性

前端之家收集整理的这篇文章主要介绍了php – 实例作为静态类属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在 PHP中将类的实例声明为属性

基本上我想要实现的是:

abstract class ClassA() 
{
  static $property = new ClassB();
}

嗯,我知道我不能那样做,但除了总是做这样的事情之外还有其他的解决方法

if (!isset(ClassA::$property)) ClassA::$property = new ClassB();
你可以使用像单例一样的实现:
<?PHP
class ClassA {

    private static $instance;

    public static function getInstance() {

        if (!isset(self::$instance)) {
            self::$instance = new ClassB();
        }

        return self::$instance;
    }
}
?>

然后你可以引用实例:

ClassA::getInstance()->someClassBMethod();

猜你在找的PHP相关文章