我的导师说,
我目前的developing project
始终需要session object
Bulletin controller
和User controller
始终需要session object
这意味着,对于您当前的Super(Parent) Class
,它最好developing project
"Super Class"
并不意味着Controller_Base
已经存在。
好吧,PHP
或Java
不能像"Multiple inheritance"
那样做。
------------------------------
class Controller_Bulletin extends Controller_Base, Controller_Application
------------------------------
会发生错误。
如果你是我,你认为你必须做什么? 我很困惑,需要一些建议。
答案 0 :(得分:0)
您可以使用更强大的依赖注入形式来实现这一点,而不是多重继承(这在PHP中是不可能的)。
在初始化期间,只需为需要它的每个类提供Session对象的特定实例。
class MyClass {
protected $session;
public function __construct($stuff) { ... }
public function setSession($session) {
$this->session = $session;
}
}
$myObject = new MyClass();
$myObject->setSession($session);
$myObject->doSomeStuff();
试图解决PHP中多重继承问题的另一种方法是Traits。 您可以使用这些功能向多个类添加一些功能。在我看来,依赖注入是一种更好的方法。