
Yaf_Dispatcher::__construct는 Yaf_Dispatcher 클래스의 생성자 함수로, 라우팅 정보를 초기화하는 역할을 합니다.
라우팅 정보는 Yaf 라우팅 시스템의 핵심 구성 요소로, URL 경로와 해당 경로에 매핑된 컨트롤러 및 메서드를 지정합니다.
Yaf_Dispatcher::__construct에서 라우팅 정보를 처리하는 방법은 다음과 같습니다.
1. 라우팅 정보를 읽어 들이는 함수인 Yaf_Router::getInstance()->parseConfig()를 호출하여 라우팅 정보를 초기화합니다.
2. 초기화된 라우팅 정보를 Yaf_Dispatcher 클래스의 프로퍼티인 $this->_router에 저장합니다.
dispatch() 함수는 Yaf_Dispatcher 클래스의 메서드로, 라우팅 정보를 기반으로 요청을 처리하는 역할을 합니다.
dispatch() 함수를 호출할 때, 라우팅 정보를 사용하는 방법은 다음과 같습니다.
1. dispatch() 함수는 라우팅 정보를 읽어 들여 요청 URL 경로를 분석합니다.
2. 분석된 URL 경로를 기반으로 컨트롤러 및 메서드를 결정합니다.
3. 결정된 컨트롤러 및 메서드를 호출하여 요청을 처리합니다.
예를 들어, 라우팅 정보가 다음과 같이 구성되어 있다고 가정해 보겠습니다.
#hostingforum.kr
php
// 라우팅 정보
'router' => array(
'routes' => array(
'home' => array(
'path' => '/',
'controller' => 'index',
'action' => 'index'
),
'about' => array(
'path' => '/about',
'controller' => 'about',
'action' => 'index'
)
)
)
이 경우, Yaf_Dispatcher::__construct는 라우팅 정보를 초기화하고, dispatch() 함수는 라우팅 정보를 기반으로 요청 URL 경로를 분석하여 컨트롤러 및 메서드를 결정합니다.
예를 들어, 요청 URL이 '/'인 경우, dispatch() 함수는 'home' 라우팅 정보를 기반으로 'index' 컨트롤러 및 'index' 메서드를 호출합니다.
#hostingforum.kr
php
// 요청 URL
$url = '/';
// 라우팅 정보를 기반으로 컨트롤러 및 메서드를 결정
$controller = 'index';
$action = 'index';
// 컨트롤러 및 메서드를 호출
$controller->index();
2025-07-16 16:56