首页 > 代码库 > PHP实现RESTful风格的API实例(一)

PHP实现RESTful风格的API实例(一)

(关于Yii2的RESTful教程请看: Yii2框架RESTful API教程)

最近看了一些关于RESTful的资料,自己动手也写了一个RESTful实例,以下是源码

目录详情:

restful/    Request.php 数据操作类    Response.php 输出类    index.php 入口文件    .htaccess 重写url

Request.php :包含一个Request类,即数据操作类。接收到URL的数据后,根据请求URL的方式(GET|POST|PUT|PATCH|DELETE)对数据进行相应的增删改查操作,并返回操作后的结果:

 
<?php/** * 数据操作类 */class Request{    //允许的请求方式    private static $method_type = array(‘get‘, ‘post‘, ‘put‘, ‘patch‘, ‘delete‘);    //测试数据    private static $test_class = array(        1 => array(‘name‘ => ‘托福班‘, ‘count‘ => 18),        2 => array(‘name‘ => ‘雅思班‘, ‘count‘ => 20),    );    public static function getRequest()    {        //请求方式        $method = strtolower($_SERVER[‘REQUEST_METHOD‘]);        if (in_array($method, self::$method_type)) {            //调用请求方式对应的方法            $data_name = $method . ‘Data‘;            return self::$data_name($_REQUEST);        }        return false;    }    //GET 获取信息    private static function getData($request_data)    {        $class_id = (int)$request_data[‘class‘];        //GET /class/ID:获取某个指定班的信息        if ($class_id > 0) {            return self::$test_class[$class_id];        } else {//GET /class:列出所有班级            return self::$test_class;        }    }    //POST /class:新建一个班    private static function postData($request_data)    {        if (!empty($request_data[‘name‘])) {            $data[‘name‘] = $request_data[‘name‘];            $data[‘count‘] = (int)$request_data[‘count‘];            self::$test_class[] = $data;            return self::$test_class;//返回新生成的资源对象        } else {            return false;        }    }    //PUT /class/ID:更新某个指定班的信息(全部信息)    private static function putData($request_data)    {        $class_id = (int)$request_data[‘class‘];        if ($class_id == 0) {            return false;        }        $data = http://www.mamicode.com/array();>
 

下一篇PHP实现RESTful风格的API实例(二)

 

PHP实现RESTful风格的API实例(一)