내 프로젝트에있는 모든 컨트롤러 동작을 꾸미고 싶습니다. 조치 방법이 호출 될 때마다 사용자 정의 로거 엔진을 시작하고 중지하려고합니다. 이처럼일반 컨트롤러 동작 꾸미기
: 나는 것을 자동화하고 싶은
class HomeController
{
public function indexAction()
{
Logger:start();
someLogicInThere();
...
Logger:end();
}
}
이 같은 일부 클래스 또는 일까지 연장.
내 최종 클래스 컨트롤러는 다음과 같이 표시됩니다
class HomeController extends ControllerDecorator
{
public function indexAction()
{
someLogicInThere();
...
}
}
을 BTW : 로거 물건은 정말 중요하지 않습니다. 내 질문은 더 많은 디자인 패턴 문제입니다
좋은 아이디어 있으십니까?
저는 Yii를 사용하지 않습니다. Zend-framework 1 – Mauro
그러면 다음과 같이 보셔야합니다 : http://framework.zend.com/manual/1.12/en/zend.controller.action.html. 특히 init() 메소드에주의하십시오. 그것은 당신의 컨트롤러의 모든 행동을위한 후크로 작동합니다. 그게 당신이 찾고 있던거야? – Masiorama
이것은 좋은 생각이 아닙니다 (예전과 사후 파견을 사용합니다). 그러나이 방법에서는 (메서드 이름, 인자 등) 실제 액션에 대한 충분한 정보가 없습니다. – Mauro