0

Slim フレームワークを使用して REST API を設計しています。データベース mySql を使用しています。私はphpでこのAPIを設計しています。

テーブルから学生に関するデータを取得しようとしています。

私はこのようにしようとしています:-

<?php
header('Content-type: application/json');
// Include the Slim library
require 'Slim/Slim.php';
// Instantiate the Slim class
$app = new Slim();
// Create a GET-based route
$app->get('/hello/:name', 'hello');

  function hello($name)
  {
     // here is code to access detail of $name 
     echo $name
     // how can i get detail if i have value of name=:kuntal  not name=kuntal
  }

  // Ready the routes and run the application
   $app->run();
 ?>

この URL を使用してこの機能を試しています:- 192.168.1.101/hello/:kuntal

名前の値をkuntalとして取得する必要があります が、関数では名前の値を:kuntalとして取得 しているため、名前の前にある :(コロン) を削除する方法を教えてください。

これを行う別の方法です。

REST APIを作成するためのスリムなフレームワークについてご存知でしたら、ご意見をお聞かせください。前もって感謝します。

4

3 に答える 3

0

この URL を試してみてください: 192.168.1.101/hello/kuntal これはあなたのコードで間違いなく機能すると思います。

于 2011-10-21T15:15:36.817 に答える
0

Slim は本当に素晴らしいフレームワークです。使い始める前は、フレームワーク、REST、HTTP の理解についてまったく経験がありませんでした。

答え 1:

$app->get('/hello/:name', function($name) use ($app) {
    // Your mySQL code here
    // Process that information into output JSON?
    // echo json_encode($array);
});

答え 2:

データベースが必要な場合は、Idiorm/Parisをチェックしてください。Slim と同じ哲学で、Less is more. これは、コードが Paris でどのように見えるかです。

class Friend extends Model {}

$app->get('/hello/:name', function($name) use ($app) {

    $friend = Model::factory('Friend')->find_many($name);  // Paris: all rows with name
    $friendAry = $friend->as_array('id', 'name');

    $response = $app->response();    // Slim Response object at work
    $response['Content-Type'] = 'application/json';

    echo json_encode($friendAry);    // Output
});

とはいえ、質問です (REST について詳しく知っている人なら答えられるかもしれません)。そのウリは本当に良いものですか?REST について私が理解していることから、私たちは人々をリソースに向けたいと考えています。名詞だと思います。Hello が REST コンテキストで実際に何を意味するのかはわかりません。スラッグとして ID を持つリソース ユーザーまたはフレンドを作成してみませんか?

$app->get('/friend/:id', function($id) use ($app) {
    // Returns the friend with unique id
    $friend = Model::factory('Friend')->find_one($id);  // Name is already part of obj
    $friendAry = $friend->as_array('id', 'name');
    echo json_encode($friendAry);
}

次に、その情報を処理し、クライアントが期待するものは何でも、こんにちはの挨拶でパッケージ化できます。名前などの追加情報をパラメーターに渡すことができます。

http://search.twitter.com/search?q=potato&count=10

お役に立てれば。とてもクールなもの。そして、誰かがフィードバックをくれて、私の考えが正しいページにあるかどうかを知らせてくれます。私もまだまだ勉強中です。

于 2012-01-31T09:20:57.360 に答える