
Yaf_Plugin_Abstract::preDispatch는 Zend Framework의 Yaf 플러그인에서 사용할 수 있는 메서드입니다. 이 메서드는 요청이 처리되기 전에 호출되는 메서드로서, 플러그인 전 처리를 구현하는 데 사용됩니다.
이 메서드를 사용하여 전처리 로직을 작성할 때, 다음 부분에 주의해야 합니다.
1. 요청 데이터의 접근: 이 메서드에서는 요청 데이터에 접근할 수 있습니다. 예를 들어, $_GET, $_POST, $_COOKIE, $_SESSION 변수를 사용할 수 있습니다.
2. 응답 데이터의 수정: 이 메서드에서는 응답 데이터를 수정할 수 있습니다. 예를 들어, 헤더를 추가하거나, 응답 본문을 수정할 수 있습니다.
3. 플러그인 순서: 이 메서드는 플러그인 순서에 따라 호출됩니다. 예를 들어, 플러그인 A, B, C가 등록되어 있다면, preDispatch 메서드는 A -> B -> C 순서로 호출됩니다.
4. 예외 처리: 이 메서드에서는 예외를 처리할 수 있습니다. 예를 들어, 요청 데이터가 유효하지 않다면 예외를 발생시킬 수 있습니다.
이 메서드를 사용하여 전처리 로직을 작성할 때, 다음 예제를 참고할 수 있습니다.
#hostingforum.kr
php
class MyPlugin extends Yaf_Plugin_Abstract {
public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
// 요청 데이터에 접근
$data = $request->getPost('data');
// 응답 데이터를 수정
$response->setHeader('X-My-Header', 'My Value');
// 플러그인 순서에 따라 호출
// 예외 처리
if (!$data) {
throw new Exception('Invalid data');
}
}
}
이 예제에서는 preDispatch 메서드가 요청 데이터에 접근하고, 응답 데이터를 수정하는 것을 보여줍니다. 또한 플러그인 순서에 따라 호출되는 것을 보여주고, 예외 처리를 보여줍니다.
2025-06-23 15:54