用于CodeIgniter的一个完整RESTful服务器实现:CodeIgniter Rest Server
用于CodeIgniter的一个完整RESTful服务器实现,只用到一个库,一个配置文件和一个控制器。
Requirements
- PHP 5.4 or greater
- CodeIgniter 3.0+
Note: for 1.7.x support download v2.2 from Downloads tab
Installation
Drag and drop the application/libraries/Format.php and application/libraries/REST_Controller.php files into your application's directories. To userequire_onceit at the top of your controllers to load it into the scope. Additionally, copy the rest.php file from application/config in your application's configuration directory.
Handling Requests
When your controller extends fromREST_Controller, the method names will be appended with the HTTP method used to access the request. If you're making an HTTPGETcall to/books, for instance, it would call aBooks#index_get()method.
This allows you to implement a RESTful interface easily:
class Books extends REST_Controller  {    public function index_get()    {      // Display all books    }      public function index_post()    {      // Create a new book    }  }REST_Controlleralso supportsPUTandDELETEmethods, allowing you to support a truly RESTful interface.
Accessing parameters is also easy. Simply use the name of the HTTP verb as a method:
$this->get('blah'); // GET param  $this->post('blah'); // POST param  $this->put('blah'); // PUT paramThe HTTP spec for DELETE requests precludes the use of parameters. For delete requests, you can add items to the URL
public function index_delete($id)  {      $this->response([          'returned from delete:' => $id,      ]);  }If query parameters are passed via the URL, regardless of whether it's a GET request, can be obtained by the query method:
$this->query('blah'); // Query param