路由的定义方式有三种:字符串,数组,闭包 路由定义需要设置请求方式例如 ~~~ Route::get('路由地址','路由表达式'); //get方式请求的路由 Route::post('路由地址','路由表达式'); //post方式请求的路由 ~~~ 请求方式可以是`get,post,put,delete,patch`等请求类型,以下非特殊都是用`get`做演示,这里的路由地址是不包含`queryString`的,即使`url`中有`queryString`,也会匹配该路由。 ## 字符串 当我们使用单应用模式的时候,按照下面的方法定义路由 ~~~ Route::get('路由地址','控制器@方法'); ~~~ 例如 ~~~ Route::get('index','index/index@index'); ~~~ 这里的`index/index@index`中`@`后的字符串为调用的方法名,前面的组成类似`App\Http\Controllers\Index`的类名,对应到目录中为`/app/Http/Controllers/index.php` 这样就很容易理解如何创建单、多应用。只需给路由表达式添加多个斜线分割,对应于类所处的文件夹上下级。 ## 数组 使用数组的方式定义路由,数组的第一个参数必须是一个控制器类的完整类名,第二个参数为方法名字符串,例如 ~~~ Route::get('index',['\App\Http\Controllers\Index','index']); ~~~ 表示映射到`\App\Http\Controllers\Index`控制器的`index`方法 ## 闭包 ~~~ Route::get('index',function(){ return view('模板文件'); }); ~~~ > 注意:这里使用到了view助手函数,当路由地址中含有参数时可以给闭包函数传递相应参数,在下面会提到。