REST 模式

浏览:2826 发布日期:2013/11/05 分类:技术分享
只了解了皮毛。希望有帮助。/* 入口文件 */
define('MODE_NAME','rest');

/* 配置文件 */
// 1、路由方式
'URL_ROUTER_ON'   => false,
'URL_ROUTE_RULES' => array( 
    //定义路由规则
    array('test', 'Index/test', '', 'get', 'xml,html')
),
// 2、自动调用方式
'REST_METHOD_LIST' => 'get,post,put', // 允讲请求类型列表
'REST_DEFAULT_METHOD' => 'get', // 默认请求类型
'REST_DEFAULT_TYPE' => 'json', // 默认资源类型
'REST_CONTENT_TYPE_LIST' => 'xml,json', // REST 允讲请求资源类型列表

/* 3.1.3 IndexAction.class.php 文件 */
class IndexAction extends Action {
    public function read_get_xml(){
        echo 'read_get_xml';
    }
    Public function read_xml(){
        echo 'read_xml';
    }
    Public function read_json(){
        echo 'read_json';
    }
    Public function read_html(){
        echo 'read_html';
    }
    public function test(){
        echo '路由访问:test';
    }
    public function form(){
        echo '资源类型:'.$this->_type;
        echo '请求类型:'.$this->_method;
        if($this->_method == 'post'){
            $arr['name'] = I('name','xiaoyi');
            $arr['age'] = I('age',27);
            $this->response($arr);
            //$this->response($arr,'xml'); // 输出此类型 注释掉上面echo
        }else{
            $this->display();
        }
    }
}

/* Tpl/from.html */
<form action="__SELF__" method="post" >
{//其他method 自测,这里写post}
姓名:<input name="name" ><br>
年龄:<input name="age" ><br>
<input type="submit">
</form>

/* 1、先说路由 */
// 访问地址:
// index.php/test.json //不能访问。配置文件中路由没有定义此类型
// index.php/test.html // 能访问
// index.php/test.xml // 能访问

// 2、自动调用方式
// 访问地址:
// index.php/Index/read.xml
// 访问 read_get_xml 方法。配置文件定义了默认请求类型 get

// index.php/Index/read.json
// 访问 read_json 方法

// index.php/Index/read.html
// 不能访问 read_html 方法。访问的是read_josn 方法,因为 配置文件中只定义 'xml,json' 资源类型,并且默认的是 ‘json’
最佳答案
评论( 相关
后面还有条评论,点击查看>>