林建立小MVC,并有一些疑虑,想解决。从另一个类中调用PHP类?
我有调度程序类,该类需要HTTP请求,HTTP响应和路由器类。
我可以做到这一点使用依赖注入,如:
$dispatcher = new Dispatcher($request, $response, $router);
现在可以说,我不喜欢这种做法,想用Dispatcher类内部类是这样的:
class Dispatcher()
{
protected $request;
protected $response;
protected $router;
public function __construct()
{
$this->request = new Request();
$this->response = new Response();
$this->router = new Router();
}
}
有什么2方法错误?我正在制定一些面向对象的原则吗?或者这样使用它就好了吗?
不应该是'class CRequest implements IRequest {}'?和'私人$ oReq;'?使其符合您的编码风格。 –
@tereško在界面符号开始处包括一个'I'是一个常见的习惯用法,但它不会延续到其他定义 –
不,实际上这是一种常见的不良做法。接口是**不是**“真的很抽象的类”。接口是合同的定义,接口的名称应描述合同的性质。而不是描述具体实现的类名。 –