PHP REST アーキテクチャのシンプルな設計
REST (Representational State Transfer) は、ネットワーク アプリケーションの設計および開発手法であり、開発の複雑さを軽減し、システムのスケーラビリティを向上させることができます。
- ネットワーク上のすべてはリソースに抽象化されます。
- 各リソースは一意のリソース識別子に対応します。
- 汎用コネクタ インターフェイスを通じて) リソース上でさまざまな操作が実行されます。リソース上ではリソース ID は変更されません。
- すべての操作はステートレスです。
-
REST は HTTP 経由でリクエストされるステータスであり、サーバーに送信されてさまざまなサービスメソッドをリクエストしますが、リクエストアドレスは同じです。たとえば、http://xxxxx.com/user/
- でインターフェイスをリクエストします。たとえば、クライアントが POST メソッドを使用して上記のインターフェイスをリクエストすると、POST メソッドは通常、データを追加する機能を提供します。これは、サーバーが新しい操作であることを示しています。
- たとえば、GET メソッドは通常、デフォルトのメソッドであり、データを変更しないため、GET メソッドを通じて上記のインターフェイスをリクエストするために使用されます。ユーザーデータを取得することです
- たとえば、PUT メソッドは通常、サーバーにユーザー情報を更新するように指示する更新操作です。
- たとえば、DEL メソッドは通常、削除操作です。
- HTTP の 4 つのリクエスト メソッドを通じて、同じインターフェイス アドレス上で 4 つの異なるリクエストを生成できます。これは、インターフェイスのスケーラビリティに大きく役立ちます。
-
REST PHP サイドコードの単純な実装:
-
/*** デモ
* @著者zhuli*/
クラスindexControllerはコントローラーを拡張します{
public $initphp_list = array('test', 'user'); //アクションのホワイトリスト
public $isRest = array('user');
//CURL のさまざまなリクエスト ステータスを通じて、index.php?c=index&a=user インターフェイスをリクエストします
パブリック関数 run() {
$curl = $this->getLibrary('curl');
$a = $curl->put('http://10.9.11.1/initphp_32/demo/www/?c=index&a=user', array('username' => 'hello'));
print_r($a);
}
//リクエストメソッドがGETメソッドの場合
パブリック関数 user_get() {
エコー「取得」;
}
//POSTメソッド
パブリック関数 user_post() {
$username = $this->controller->get_gp('username', 'P');
$ユーザー名をエコーします。
エコー「取得」;
}
//置く
パブリック関数 user_put() {
$username = $this->controller->get_gp('username', 'U');
$ユーザー名をエコーします。
エコー「置く」;
}
//DEL
パブリック関数 user_del() {
$username = $this->controller->get_gp('username', 'D');
$ユーザー名をエコーします。
エコー「デル」;
}
}
参考: Baidu、InitPHP フレームワーク REST 実装