PHP:Class_A调用Class_B调用Class_C—;如何将变量从A传递到C?
我有一系列的课程。类_A实例化类_B,类_B实例化类_C。(实际上,类_A实例化三个类,每个类实例化几个。因此,它更像是从类_A分支出来的类树) 类_A持有所有最终类(类_B调用的类)都需要的变量 如何最好地向下传递变量?现在我把它作为一个参数传递给B类,然后B类又把它作为一个参数传递给C类,但这似乎是多余的PHP:Class_A调用Class_B调用Class_C—;如何将变量从A传递到C?,php,oop,Php,Oop,我有一系列的课程。类_A实例化类_B,类_B实例化类_C。(实际上,类_A实例化三个类,每个类实例化几个。因此,它更像是从类_A分支出来的类树) 类_A持有所有最终类(类_B调用的类)都需要的变量 如何最好地向下传递变量?现在我把它作为一个参数传递给B类,然后B类又把它作为一个参数传递给C类,但这似乎是多余的 class Class_A { function __construct(){ $m = value; $n = new Class_B($m);
class Class_A {
function __construct(){
$m = value;
$n = new Class_B($m);
}
}
class Class_B {
function __construct($m){
$o = new Class_C($m);
}
}
class Class_C {
function __construct($m){
$this->m = $m;
$this->do_something();
}
public function do_something(){
return $this->m;
}
}
类_是否应该设置一个全局变量,使其在分支中的所有后代都可以继承
我的所有子类是否都应该扩展实例化它们的类以访问该变量?最好的方法应该是不要违反demeter定律。你可能想重构你的类,记住单一责任原则。查看常见的设计模式会有所帮助,尤其是工厂和/或装饰:最好的方法应该是不要违反德米特定律。您可能希望重构类,牢记单一责任原则查看常见设计模式会有所帮助,尤其是factory和/或decorator: