
Yaf_Route_Simple::assemble 함수가 제대로 동작하지 않는 이유는 route 규칙이 중첩되거나 충돌할 때 발생하는 문제입니다. 예를 들어, 다음과 같은 route 규칙이 있을 때 발생할 수 있습니다.
- /user/:id
- /user/:id/post/:post_id
이러한 경우 assemble 함수는 /user/:id/post/:post_id 라는 경로를 생성하려고 하지만, /user/:id 라는 경로가 이미 존재하기 때문에 오류가 발생합니다.
이러한 문제를 해결하기 위해서는 route 규칙을 명확하게 정의하고, 중첩되지 않도록 하거나, assemble 함수에 route 규칙을 명시적으로 지정하는 방법을 사용할 수 있습니다.
예를 들어, 다음과 같이 route 규칙을 정의할 수 있습니다.
#hostingforum.kr
php
$router->route('/user/:id', 'user', 'index');
$router->route('/user/:id/post/:post_id', 'user', 'post');
또는 assemble 함수에 route 규칙을 명시적으로 지정할 수 있습니다.
#hostingforum.kr
php
$router->assemble('user/index', array('id' => 1));
$router->assemble('user/post', array('id' => 1, 'post_id' => 2));
이러한 방법으로 route 규칙을 명확하게 정의하고, assemble 함수를 사용할 때 route 규칙을 명시적으로 지정하면 오류가 발생하지 않습니다.
2025-06-13 01:09