我对 PHP OO 编程技术还是比较陌生,我有一个非常简单的广泛问题,在类中实例化一个类然后将该实例传递给另一个类通常是不好的做法吗?
我想要的是能够创建我知道在每个用户请求中始终需要的特定类的实例。第二类不仅仅是一个辅助类,理想情况下在我的应用程序中它将是一个加载视图的“加载器”。
第一个类调用其他两个类:
require 'classTwo.php';
require 'classThree.php';
class first {
public $classTwo, $classThree;
public function __construct() {
$this -> classTwo = new classTwo;
$this -> classThree = new classThree;
$this -> classThree -> displayNum( $this -> classTwo );
}
}
第二类是辅助类:
class classTwo {
public function returnVal() {
return 123;
}
}
第三类是实际工作和最终显示发生的动作类:
class classThree {
public function displayNum( $instance ) {
echo $instance -> returnVal();
}
}
总的来说,我只是想知道这是否是不好的做法,因为我以前从未见过这样做。
提前致谢!
注入任何依赖对象是一个很好的做法,因为这使您可以在单元测试期间非常轻松地进行模拟。
一般来说,如果你有ClassA
它依赖于一个实例ClassB
为了发挥作用,你可以做类似的事情..
$objectB = new ClassB();
$objectA = new ClassA($objectB);
看一眼http://net.tutsplus.com/tutorials/php/dependency-injection-in-php/
编辑:构造函数注入将依赖项传递到新对象的构造函数中(如上所示)。
Setter注入是使用一种方法来设置依赖关系,通常在依赖关系不重要时使用:
$objectB = new ClassB();
$objectA = new ClassA();
$objectA->setObjectB($objectB);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)