zoukankan      html  css  js  c++  java
  • laravel路由

    路由分类:

        基本路由:接收一个URL和一个闭包

          Route::get('foo/bar',function(){  //闭包函数

            return 'hello world';

          })

          注册路由的方法:get,post,put,delete,match,any

          可以用函数url生成路由对应的URLs:$url=url('foo');

        参数路由:路由参数是通过{参数}实现,参数在路由被执行时会被传递到路由的闭包。路由参数不能包含 ' - ' 字符,可以使用 ' _ ' 替代

          1、必选参数

            example:从URL中捕获用户ID

            Route::get('user/{id}',function($id)){

              return 'User'.$id;

            }

            注:可以定义多个路由参数,定义几个参数,在闭包函数中添加几个参数。

          2、可选参数:在参数名的后边加上?号,另外在闭包函数的参数中给参数赋值。

            example:

            Route::get('user/{name?}',function($name=null){   //$name='LiuShuaiCai'

              return $name;

            })

          3、正则约束:通过where方法来约束路由参数的格式,where('参数名','正则表达式')。

            example:

            Route::get('user/{id}/{name}',function($id,$name){

              return $id.':'.$name;

            })->where(['id']=>'[0-9]+',['name']=>'[a-z]+');

            3.1、全局约束:路由参数在全局范围内被给定的正则表达式约束,使用pattern方法,在RouteServiceProvider类的boot方法中定义约束模式。

              /**

               * 定义路由模型绑定,模式过滤器等

               *

               * @param IlluminateRoutingRouter $router

               * @return void * @translator http://laravelacademy.org

               */

              public function boot(Router $router){

                $router->pattern('id', '[0-9]+');

                parent::boot($router);

              }

        命名路由:命名路由使生成URLs或者重定向到指定路由变得很方便,在定义路由时指定路由名称,然后使用数组键as指定路由别名。

          Route::get('user/profile',['as'=>'profile',function(){

            //

          }]);  

          为控制器动作指定路由名称:

          Route::get('user/profile',[

           'as'=>'profiel','uses'=>'UserController@showProfile' 

          ]);         

          为命名路由生成URLs:通过route函数生成URLs时可以使用as定义的路由名字:

          $url = route('profile');

          $redirect = redirect()->route('profile');

          如果路由定义了参数,可以将参数作为函数route的第二个参数。

          Route::get('user/{id}/profile',['as'->'profile',function($id){

            //

          }])

          $url = route('profile',['id'=>1]);

        路由群组

          1、中间件

          2、命名空间

          3、子域名路由

          4、路由前缀

  • 相关阅读:
    WebApi Ajax 跨域请求解决方法(CORS实现)
    JQuery Ajax POST/GET 请求至 ASP.NET WebAPI
    Hybird APP对接后台:Net WebApi
    Chrome
    centos8平台:用fontconfig安装及管理字体(fc-list/fc-match/fc-cache)
    centos8平台:redis6配置启用io多线程(redis6.0.1)
    centos8平台安装redis6.0.1
    centos8平台:举例讲解redis6的ACL功能(redis6.0.1)
    ImageMagick实现图片加水印(ImageMagick6.9.10)
    centos8上安装ImageMagick6.9.10并压缩图片生成webp缩略图
  • 原文地址:https://www.cnblogs.com/sweet521/p/5632860.html
Copyright © 2011-2022 走看看