2012-05-09 4 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){ 
     // 
    } 
} 

これは

にマップされ、以下に示す
http://hostname/12435635/game/settings?sound=x&music=y 

このルートはroutes.phpにそれが本番モード:)あなたが同じメソッドに複数のルートを作成するために、より多くの@urlコメントを追加することができ

で生成されるたびに追加されます

関連する問題