
Yaf_Dispatcher::getRouter 함수를 사용하여 라우팅을 구현할 때, 라우팅 규칙이 여러개일 경우 우선순위를 정하는 방법은 다음과 같습니다.
1. 정규표현식: Yaf 라우팅에서 우선순위를 정하는 가장 좋은 방법은 정규표현식을 사용하는 것입니다. 예를 들어, '/admin/user'와 '/admin/order'를 라우팅할 때 우선순위를 정하려면, '/admin'을 정규표현식으로 정의하여 우선순위를 정할 수 있습니다.
#hostingforum.kr
php
$router->route('/admin', 'admin/index');
$router->route('/admin/user', 'user/index');
$router->route('/admin/order', 'order/index');
위의 예제에서 '/admin'을 정규표현식으로 정의하여 우선순위를 정하였습니다. '/admin/user'와 '/admin/order'는 '/admin' 정규표현식을 만족하므로, 우선순위가 '/admin'보다 낮습니다.
2. 정규표현식 우선순위: Yaf 라우팅에서 정규표현식 우선순위를 정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$router->route('/admin', 'admin/index', 1);
$router->route('/admin/user', 'user/index', 2);
$router->route('/admin/order', 'order/index', 3);
위의 예제에서 '/admin' 정규표현식의 우선순위를 1로 정하였습니다. '/admin/user'와 '/admin/order' 정규표현식의 우선순위를 2와 3으로 정하였습니다. Yaf 라우팅에서는 우선순위가 낮은 정규표현식이 우선순위가 높은 정규표현식을 만족하지 못할 때만 라우팅이 됩니다.
3. 라우팅 규칙 우선순위: Yaf 라우팅에서 라우팅 규칙 우선순위를 정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$router->route('/admin/user', 'user/index', 1);
$router->route('/admin/order', 'order/index', 2);
위의 예제에서 '/admin/user' 라우팅 규칙의 우선순위를 1로 정하였습니다. '/admin/order' 라우팅 규칙의 우선순위를 2로 정하였습니다. Yaf 라우팅에서는 우선순위가 낮은 라우팅 규칙이 우선순위가 높은 라우팅 규칙을 만족하지 못할 때만 라우팅이 됩니다.
2025-07-06 06:23