임 MVC를 구축하고, 밖으로 정렬하고자하는 몇 가지 의구심을 가지고.다른 클래스 내부에서 PHP 클래스를 호출 하시겠습니까?
Dispatcher 클래스가 있고이 클래스에는 HTTP 요청, HTTP 응답 및 라우터 클래스가 필요합니다.
class Dispatcher()
{
protected $request;
protected $response;
protected $router;
public function __construct()
{
$this->request = new Request();
$this->response = new Response();
$this->router = new Router();
}
}
뭔가 거기 : 지금은이 방법처럼 해달라고과 같은 디스패처 클래스의 내부 클래스를 사용하고 싶습니다 말할 수
$dispatcher = new Dispatcher($request, $response, $router);
:
내가 좋아하는이 사용 종속성 주입을 할 수 2 접근 방식에 문제가 있습니까? OOP 원칙을 제동하고 있습니까? 아니면이 방법으로 사용하는 것이 좋습니까?
'클래스 CRequest는 IRequest {}'를 구현하면 안됩니까? 그리고'private $ oReq;'? 일관된 코딩 스타일을 만들 수 있습니다. –
@ tereško는 인터페이스 심볼의 시작 부분에 'I'를 포함하는 공통 관용구이지만 다른 정의로 넘어 가지 않습니다. –
아니요, 실제로 이것은 일반적으로 나쁜 습관입니다. 인터페이스는 ** 실제로는 추상적 인 클래스가 아닙니다 **. 인터페이스는 계약의 정의이며 인터페이스의 이름은 계약의 성격을 설명해야합니다. 구체적인 구현을위한 클래스 이름을 설명하는 대신. –