
Yaf_Route_Regex::assemble 함수는 URL 라우팅을 위한 함수로, 정규 표현식을 사용하여 URL 패턴을 매치합니다.
이 함수는 URL 패턴을 정의한 후, 실제 URL을 매치하여 라우팅을 처리합니다.
예를 들어, URL 패턴 '/users/{id}/posts/{post_id}'를 Yaf_Route_Regex::assemble 함수로 매치하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$route = new Yaf_Route_Regex('/users/{id}/posts/{post_id}');
$url = '/users/123/posts/456';
$matched = $route->assemble($url);
위 코드에서, '/users/{id}/posts/{post_id}' 패턴을 정의한 후, 실제 URL '/users/123/posts/456'를 매치하여 라우팅을 처리합니다.
Yaf_Route_Regex::assemble 함수가 처리하는 URL 패턴의 제약 조건은 다음과 같습니다.
- URL 패턴은 정규 표현식으로 정의됩니다.
- URL 패턴은 '/'로 시작하고 끝나야 합니다.
- URL 패턴에 변수를 사용할 때, 변수의 이름과 데이터 타입이 지정되어야 합니다.
- 변수의 이름은 '{변수명}' 형식으로 정의됩니다.
- 변수의 데이터 타입은 다음과 같이 지정됩니다.
+ int: '{id:\d+}'
+ str: '{name:[a-zA-Z]+}'
+ float: '{price:\d+\.\d+}'
예를 들어, URL 패턴 '/users/{id:int}/posts/{post_id:str}'를 정의한 후, 실제 URL '/users/123/posts/456'를 매치하여 라우팅을 처리합니다.
#hostingforum.kr
php
$route = new Yaf_Route_Regex('/users/{id:int}/posts/{post_id:str}');
$url = '/users/123/posts/456';
$matched = $route->assemble($url);
위 코드에서, '/users/{id:int}/posts/{post_id:str}' 패턴을 정의한 후, 실제 URL '/users/123/posts/456'를 매치하여 라우팅을 처리합니다.
이때, '{id:int}'은 id 변수의 데이터 타입을 int로 지정하고, '{post_id:str}'은 post_id 변수의 데이터 타입을 str로 지정합니다.
이러한 제약 조건을 통해, Yaf_Route_Regex::assemble 함수는 URL 패턴을 정의하고 실제 URL을 매치하여 라우팅을 처리할 수 있습니다.
2025-08-15 11:30