2012-05-09 5 views
0

Restler 프레임 워크를 탐색 중입니다. 예를 들어Restler 맞춤 경로

[host]/:sessionid/{class}/{method}?param1=x&param2=y 

Game 클래스의 Settings 방법 : 우리에게 필요한 것은 같은 사용자 지정 경로가

<?php 
class Game { 
    function settings($session, $sound=TRUE, $music=TRUE){ 
     // 
    } 
} 
?> 

http://hostname/12435635/game/settings?sound=x&music=y

에 매핑해야 우리가 그것을 달성하기 위해 관리했습니다 해킹은 routes.php 파일이지만, 파일이 자동 생성되므로 아이디어가 좋지 않습니다. 그렇다면 Restler의 소스를 해킹하거나 routes.php 파일을 수정하지 않고 이러한 경로를 만들 수 있습니까?

답변

1

첫 번째 단계는 URI에서 클래스 이름을 제거하는 것입니다. 그것은이

http://hostname/settings/12435635/?sound=x&music=y 

다음 단계는 API 법 등으로하는 PHPDoc 코멘트를 추가하여 수동으로 경로를 지정하는 다음과 같이 자동 URI 구조를 생성 변경

$r->addAPIClass('Game', ''); 

addAPIClass 문을 수정함으로써 달성 될 수있다

<?php 
class Game { 

    /** 
    * @url GET /:session/game/settings 
    */ 
    function settings($session, $sound=TRUE, $music=TRUE){ 
     // 
    } 
} 

아래 그림이

에 매핑합니다 0
http://hostname/12435635/game/settings?sound=x&music=y 

이 경로는 routes.php에 생산 모드 : 당신은 같은 방법으로 여러 경로를 만들기 위해 더 @url의 의견을 추가 할 수 있습니다

에서 생성 될 때마다 추가됩니다