谁能告诉我,如果有可能重写USE语句?
我的例子是具有MVC设置,其中有核心代码重写与扩展核心版本定制版本每个控制器/模型的能力。
我所面临的问题是,我的核心控制器具有use语句告诉它使用核心模式,所以如果我扩展模型,我不知道如何告诉它使用自定义的模型,而不是核心的一个
我能明显更新核心控制器使用语句来指向自定义的,但核心代码共享,所以自定义版本可能无法使用这个核心的核心的其他网站存在
使用语句显然是文件级所以我猜这是不可能的,但我希望有任何事情我不知道,或者一个解决方法
例
核心控制器
namespace Core;
use Core\Model\Example as ExampleModel;
class ExampleController {
public function output() {
$model = new ExampleModel;
$model->test();
}
}
核心模型
namespace Core;
class ExampleModel() {
public function test() {
echo 'This is the core test';
}
}
自定义控制器
namespace Custom;
use Custom\Controller\Example as Base,
Custom\Model\Example as ExampleModel;
class ExampleController extends Base {
//Inherits the output() method
}
定制型号
namespace Custom;
use Core\Model\Example as Base;
class ExampleModel extends Base {
public function test() {
echo 'This is the custom test';
}
}
所以,有了这个例子,是有可能对我来说,在不修改核心代码都创建一个使用自定义模式输出“这是自定义测试”,因此定制控制的实例?
但愿我要问是有道理的
谢谢