为了更加直观的呈现路由的定义,在此我将采用内置服务器的方式来演示。首先我们通过命令行模式键入当前项目根目录后输入命令:

    php think run

    此时public目录会自动被绑定到顶级域名:127.0.0.1:8000

    路由定义:

    最基础的路由定义方法是:

    Route::rule(‘路由表达式’, ‘路由地址’, ‘请求类型’);

    例如注册如下路由规则(假设为单应用模式):

    实例:

    我们访问:

    http://serverName/new/5

    会自动路由到:

    http://serverName/news/read/id/5

    并且原来的访问地址会自动失效。
    可以在rule方法中指定请求类型(不指定的话默认为任何请求类型有效),例如:

    Route::rule(‘new/:id’, ‘News/update’, ‘POST’);

    请求类型参数不区分大小写。

    表示定义的路由规则在POST请求下才有效。如果要定义GET和POST请求支持的路由规则,可以用:

    Route::rule(‘new/:id’,’News/read’,’GET|POST’);

    不过通常我们更推荐使用对应请求类型的快捷方法,包括:

    类型 描述 快捷方法
    GET GET请求 get
    POST POST请求 post
    PUT PUT请求 put
    DELETE DELETE请求 delete
    PATCH PATCH请求 patch
    * 任何请求类型 any

    快捷注册方法的用法为:

    Route::快捷方法名(‘路由表达式’, ‘路由地址’);

    使用示例如下:
    Route::get(‘new/‘,’News/read’); // 定义GET请求路由规则 Route::post(‘new/‘,’News/update’); // 定义POST请求路由规则 Route::put(‘new/:id’,’News/update’); // 定义PUT请求路由规则 Route::delete(‘new/:id’,’News/delete’); // 定义DELETE请求路由规则 Route::any(‘new/:id’,’News/read’); // 所有请求都支持的路由规则