路由

作者: 顾庭燎 | 来源:发表于2019-01-20 14:25 被阅读0次

路由

  • 路由的定义

    • 用于和终端用户进行交互

    • 可以在routes/web.php中定义web路由,用于终端用户进行访问,也可以在routes/api.php中定义API路由,用于提供API服务

    • routes/web.php中路由的定义

      • 基本定义

        // routes/web.php
        Route::get('/', function () {
            return 'Hello, World!';
        });
        

        本样例采用了最简单的方法,将路径(‘/’)与闭包结合起来使用

        • 闭包是PHP版本的匿名函数。闭包是一个函数,可以将它作为一个对象传递,并赋值给一个变量,将其作为参数传递给其他函数和方法
        • 现在,定义好路由后,如果有人访问 / (域名的根路径),路由就会运行定义好的闭包,同时会返回结果
      • 继续给出一些例子

      • Route::get('/', function() {
            return view('welcome');
        });
        
        Route::get('/help', function() {
            return view('help'); 
        });
        
        Route::get('/about', function() {
            return view('about');
        });
        
  • 路由动词

    • 当http使用不同的方法进行请求时,就要使用对应的路由定义

    • Route::get('/', function() {
          return 0; 
      });
      
      Route::post('/', function() {});
      
      Route::put('/', function() {});
      
      Route::delete('/', function() {});
      
      Route::any('/', function() {});
      
      Route::match(['get', 'post'], '/', function() {});
      
  • 路由处理

    • 将控制器名称和方法作为字符串传给闭包

      Route::get('/', 'StaticPagesController@home');
      

      将请求传递到静态页面控制器中的home()方法处理

  • 路由参数

    • 如果定义的路由有参数,那么可以在路由中定义它们,并将它们传递给闭包

      Route::get('users/{id}/friends', function ($id){
         // 
      });
      
  • 路由名称

    • 要在应用程序的其他位置引用路由,可以通过路径,也可以通过对每一个路由命名,这样就可以不通过URL直接引用路由

      //在web.php中定义路由
      Route::get('members/{id}', 'MemberControllers@show')->name('member.show');
      
      //使用route助手在视图中链接路由
      <a href="<php echo route('member.show', ['id' => 1]); ?>"></a>
      
    • 路由的一般命名格式

      复数的资源名称 + 相应的动作

      photos.index
      photos.create
      photos.store
      photos.show
      photos.edit
      photos.update
      photos.destory
      
    • 将路由参数传递给route()助手

      //定义路由
      Route::get('users/{userId}/commennts/{commentId}, usersControllers@show')->name('users.comments.show');
      //传入参数, http://myapp.com/users/1/comments/2
      route('users.comments.show', [1,2])
      route('users.comments.show', ['userId' => 1, 'commentId' => 2])
      route('users.comments.show', ['commentId' => 2, 'userId' => 1])
      

      不是关联数组里面的值会按顺序分配,关联数组里的值会按照相应的键名进行匹配,数组里面其他剩下的数据都会作为查询参数进行添加并使用

相关文章

  • thinkphp5学习笔记(三)路由配置

    URL请求的执行流程 路由模式 路由注册 路由规则 路由地址 路由参数 变量规则 路由分组 别名路由 路由绑定

  • larevel 路由索引

    基本路由:路由重定向、视图路由路由参数:必选、可选、正则表达式命名路由路由组:中间件、命名空间、子域名路由、路由前...

  • laravel路由

    2 路由格式 3 路由参数 4 .路由别名 5 .路由群组

  • Vue3: 前端路由的概念和原理

    1、什么是路由 路由(英文:router)就是对应关系。路由分为两大类:① 后端路由② 前端路由 2、后端路由 后...

  • 组件化2.路由框架的设计

    路由框架原理 路由框架是为了实现组件之间的通信 路由框架维护了一个分组的路由表路由表中存放了路由地址和路由信息路由...

  • vue中的路由

    vue中4中路由包含: 1、动态路由2、嵌套路由3、编程式路由4、命名式路由 1、动态路由 2、嵌套路由 3、编程...

  • React-Router知识点

    路由的分类 页面路由 hash 路由 h5路由 react路由 react-router-dom 路由方式 h5路...

  • 路由策略

    路由策略和策略路由 什么是路由策略?路由策略和策略路由有什么区别? 如何配置路由策略? https://blog....

  • Laravel 学习笔记

    路由 文件位置: app/Http/routes.php 基础路由get/post 多请求路由 路由参数 路由别名...

  • React路由

    React路由 一、路由的形式 hash路由 : HashRouter history路由 : BrowserRo...

网友评论

      本文标题:路由

      本文链接:https://www.haomeiwen.com/subject/vnuxjqtx.html