라이브러리
[PHP] Yaf_Application::getDispatcher - Yaf_Dispatcher 인스턴스 가져오기
Yaf_Application::getDispatcher
Yaf_Application::getDispatcher는 Yaf 프레임워크에서 사용할 수 있는 메서드입니다. 이 메서드는 현재 실행 중인 어플리케이션의 디스패처 객체를 반환합니다.
디스패처 객체
디스패처 객체는 요청을 처리하는 역할을 합니다. 디스패처 객체는 요청을 받고, 해당 요청에 맞는 컨트롤러를 찾아서 호출합니다.
예제
#hostingforum.kr
php
// Yaf_Application 객체를 생성합니다.
$app = new Yaf_Application('application.ini');
// 디스패처 객체를 가져옵니다.
$dispatcher = $app->getDispatcher();
// 디스패처 객체에 요청을 보냅니다.
$dispatcher->dispatch();
디스패처 객체의 메서드
디스패처 객체에는 여러 메서드가 있습니다. 여기에는 다음과 같은 메서드가 있습니다.
* `dispatch()`: 요청을 처리합니다.
* `getControllerName()`: 현재 처리 중인 컨트롤러 이름을 반환합니다.
* `getController()`: 현재 처리 중인 컨트롤러 객체를 반환합니다.
* `getActionName()`: 현재 처리 중인 액션 이름을 반환합니다.
* `getAction()`: 현재 처리 중인 액션 객체를 반환합니다.
예제 (디스패처 객체의 메서드)
#hostingforum.kr
php
// Yaf_Application 객체를 생성합니다.
$app = new Yaf_Application('application.ini');
// 디스패처 객체를 가져옵니다.
$dispatcher = $app->getDispatcher();
// 디스패처 객체에 요청을 보냅니다.
$dispatcher->dispatch();
// 현재 처리 중인 컨트롤러 이름을 출력합니다.
echo $dispatcher->getControllerName() . "
";
// 현재 처리 중인 컨트롤러 객체를 출력합니다.
echo get_class($dispatcher->getController()) . "
";
// 현재 처리 중인 액션 이름을 출력합니다.
echo $dispatcher->getActionName() . "
";
// 현재 처리 중인 액션 객체를 출력합니다.
echo get_class($dispatcher->getAction()) . "
";
디스패처 객체의 사용 사례
디스패처 객체는 요청을 처리하는 역할을 하기 때문에, 요청을 처리하는 로직을 작성할 때 사용할 수 있습니다. 예를 들어, 요청을 처리하는 로직을 작성할 때, 디스패처 객체를 사용하여 현재 처리 중인 컨트롤러와 액션을 확인할 수 있습니다.
예제 (디스패처 객체의 사용 사례)
#hostingforum.kr
php
// Yaf_Application 객체를 생성합니다.
$app = new Yaf_Application('application.ini');
// 디스패처 객체를 가져옵니다.
$dispatcher = $app->getDispatcher();
// 디스패처 객체에 요청을 보냅니다.
$dispatcher->dispatch();
// 현재 처리 중인 컨트롤러 이름과 액션 이름을 확인합니다.
$controllerName = $dispatcher->getControllerName();
$actionName = $dispatcher->getActionName();
// 현재 처리 중인 컨트롤러와 액션을 확인합니다.
$controller = $dispatcher->getController();
$action = $dispatcher->getAction();
// 요청을 처리하는 로직을 작성합니다.
if ($controllerName == 'index' && $actionName == 'index') {
// index 컨트롤러의 index 액션을 처리합니다.
echo "index 컨트롤러의 index 액션을 처리합니다.
";
} elseif ($controllerName == 'user' && $actionName == 'login') {
// user 컨트롤러의 login 액션을 처리합니다.
echo "user 컨트롤러의 login 액션을 처리합니다.
";
} else {
// 다른 컨트롤러와 액션의 처리 로직을 작성합니다.
echo "다른 컨트롤러와 액션의 처리 로직을 작성합니다.
";
}
결론
Yaf_Application::getDispatcher는 Yaf 프레임워크에서 사용할 수 있는 메서드입니다. 이 메서드는 현재 실행 중인 어플리케이션의 디스패처 객체를 반환합니다. 디스패처 객체는 요청을 처리하는 역할을 하기 때문에, 요청을 처리하는 로직을 작성할 때 사용할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.