Laravel 有没有提供懒路由功能

现在的项目是api,web,admin,共用一个laravel工程。我希望在访问api的路径时不要触发其它路由的调用。因为其它路由有可能是第三方的包,它们可能会在路由调用时执行一些数据库查询操作,如果作为一个api在执行时同时因为admin存在一些数据库的查询性能上就会有所下降。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 6

触发其他路由的调用是什么意思

4年前 评论

这个我还没尝试过。不过我有两种方法供你尝试。

第一种就是使用路由中的子域名路由试试看。

第二种办法就是将其按照域名拆分为三个文件。然后通过不同的域名加载不同的文件。App/Providers/RouteServiceProvider::mapWebRoutes方法里面可以写域名判断。

剩下的就靠你了哦

4年前 评论

访问 api 的路径时不怎么会触发其它路由的调用?代码能贴一下看看嘛?

4年前 评论

@songxue77

Route::group(['prefix' => 'admin'], function () {
    // voyager自动注册的路由
    Voyager::routes();

    // 自定义的路由
    Route::group(['middleware' => 'admin.user', 'namespace' => 'Admin'], function(){
        Route::get('/demo', 'DemoController@index')->name('admin.demo');
    });
});

上面是route/web.php的路由定义。 Voyager::routes()这个操作里面有查询数据库的操作。我不想在我访问route/api.php下的url时触发它。

4年前 评论
L学习不停 4年前
songxue77 4年前
songxue77 4年前
piszd (作者) (楼主) 4年前
piszd (作者) (楼主) 4年前
L学习不停 4年前
piszd (作者) (楼主) 4年前
piszd (作者) (楼主) 4年前

分不同的文件

api.php
web.php
admin.php
RouteServiceProvider.php

 public function map()
    {
      if(  )//判断是否是api
       $this->mapApiRoutes();

      if()  //判断是否是web
      $this->mapWebRoutes();

      if()  //是否是后台
      //自己实现 抄一下mapApiRoutes()就好了
    }


ni
4年前 评论
largezhou 3年前
piszd (楼主) 4年前
largezhou 4年前
piszd (楼主) 3年前
piszd (楼主) 3年前
piszd (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!