Luracast Restlerクラスを編成して、関連するルートエンドポイントを作成するにはどうすればよいですか?

私はLuracast Restler APIフレームワークで作業しています。クラス構造を整理してこのスタイルのルートを作成する方法が不思議です。

webroot/user/:id/
webroot/user/:id/profile 
webroot/user/:id/tweets 

それぞれにGET、PUT、POST、DELETEを使用する可能性:

Class user(){
 function get($id){
   Do something when GET/webroot/user/:id/ 
 }
 function put($data){
   Do something when PUT/webroot/user/:data/ 
 }
}
Class profile(){
 function get($id){
   Do something when GET/webroot/user/:id/profile 
 }
}
Class tweets(){
 function get($id){
  Do something when GET/webroot/user/:id/tweets
 }
}

前もって感謝します!

2
これまでに何を試しましたか?どのような具体的な問題が起きましたか?正式な仕様は何ですか?あなたのクラスはそれと一緒に動作するかしないのですか?
追加された 著者 hakre,

2 答え

PHP Docのコメントを使用してカスタムURLルーティングを使用する必要があります。あなたのユースケースの変更例を以下に示します。

Class User(){
 function get($id){
   //Do something when GET /webroot/user/:id/ 
 }
 function put($data){
   //Do something when PUT /webroot/user/:data/ 
 }
 /**
 * @url GET /:id/profile
 */
 function profile($id){
   //get the profile for specified user
 }
}

メソッドをPOST、DELETE、PUTと置き換えて、プロファイルを編集することができます。また、上記の構文を使用して複数のルートを追加することもできます。

2
追加された

カスタムルートは他のCRUDメソッドでも使用できますか?

/**
* @url POST /create
*/      
protected function post($request_data=NULL) {
    return $this->dp->insert($this->_validate($request_data));
}

POSTを正しく呼び出す

Prepared POST URLRequest ''. HTTP Headers: {
    Accept = "application/json";
    "Content-Type" = "application/x-www-form-urlencoded";
}. HTTP Body: ssoid=123&ssotype=facebook&crudID=0&ssoname=mickey.

私のコードから呼び出すと、404 "Not Found"というエラーが出る "

response body: {
  "error": {
    "code": 404,
    "message": "Not Found"
  }
}
1
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com