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、路由前缀

  • 相关阅读:
    自学MongoDB(1)
    小心心
    js文件处理File
    jquery图片滚动jquery.scrlooAnimation.js
    jquery图片滚动normalizy.css
    jquery图片滚动demo.css
    jquery图片滚动animate.css
    jquery图片滚动
    C# 数组与集合的区别
    SQL server 批量插入和更新数据
  • 原文地址:https://www.cnblogs.com/sweet521/p/5632860.html
Copyright © 2011-2022 走看看