项目中避免父类方法重复运行

在项目中,难免会遇到这种情况,多个子类集成同一个父类时,在父类的构造函数中无可避免的会些很多代码,加载很多东西,这样写毫无任何质疑。

但如果在需求中需要一个子类实例化另一个子类,那么,父类的构造函数就会重复加载,如果在一个子类的一段代码中,需要实例化多个子类,这样父类构造函数重复加载就麻烦了。怎么避免呢,我第一反应就是用global来决绝问题。

在父类文档中:

$GLOBALS['isLoadConstruct'] = false;
class A{
    function __construct(){
        global $isLoadConstruct;
    if ($isLoadConstruct === false) {
            //具体内容
        }
    }
}

这样就能解决问题;

原文地址:https://www.cnblogs.com/olaf/p/3951514.html