laravel框架之路由

laravel框架——路由

(一)、简介

laravel中的MVC则是通过路由功能映射到对应的程序(控制器方法),通过路由将用户的请求发送到对应的程序进行处理,其作用就是建立url和处理程序之间的映射关系,这样做有一个好处,对url进行美化只需要修改路由而无需对程序本身进行修改。
laravel中请求类型包括:get、post、put、patch、delete。
route.php是laravel的路由文件,所有的路由映射都要通过编辑route.php文件进行代码书写。

(二)、路由学习

1、基本路由

get请求:

post请求:

 
2、多请求路由
 顾名思义,多请求路由则是可以通过多种请求方式进行请求,多请求路由主要有两种方式,match和any。

(1)、match接收请求类型的数组从而限定请求的类型:

 

(2)、any方式

3、路由参数

给路由绑定参数,接收参数进行处理

(1)、必选参数

(2)、可选参数($userid=null表示默认值,可设置没有参数时的默认值)

 

(3)、路由参数过滤(用正则表达式对传入的参数进行过滤)

 where('num','[0-9]+');

 访问url:http://127.0.0.1/laravel/public/num/5
 返回输出:this num is 5

 访问url:http://127.0.0.1/laravel/public/num
 返回输出:this num is 15

 访问url:http://127.0.0.1/laravel/public/num/fhdja
 页面报错

 //多个参数过滤
 Route::get('info/{name}/{age?}', function($name,$age=null){
    return 'name is '.$name.', age is '.$age;
 })->where(['name' => '[a-zA-Z]+', 'age' => '[1-9]+']);
 
可使用数组形式过滤多个参数

4、路由别名
    给路由通过[‘as’ => ‘alias’]数组使用别名后,可通过route(‘别名’)生成url,请看代码理解:


 'studentInfo' ,function(){

    //通过route('studentInfo')生成完成url后返回
     return route('studentInfo');

 }]);

访问url:http://127.0.0.1/laravel/public/student/info
 页面返回:http://127.0.0.1/laravel/public/student/info

注:别名的好处在于,以后在控制器中使用route('别名')的方式生成url后,即便修改了路由的名字,也不用再修改控制器程序,因为通过别名程序能自动生成修改后的url

5、路由群组
    通过关键字group创建路由群组

 'admin'], function(){
 
   //此时的访问地址:http://127.0.0.1/laravel/public/admin/student/info
     Route::get('student/info',['as' => 'studentInfo' ,function(){
        return route('studentInfo');
    }]);

    //此时的访问地址:http://127.0.0.1/laravel/public/admin/info/yuwenbo/20
     Route::get('info/{name}/{age?}', function($name,$age=null){
        return 'name is '.$name.', age is '.$age;
     })->where(['name' => '[a-zA-Z]+', 'age' => '[1-9]+']);
   
 });

 此时的访问地址url必须要加上群组前缀,否则将不能访问

6、路由中输出视图
    通过view()函数输入视图

 

一般情况是不会在路由中输出视图的。

你可能感兴趣的:(laravel)