Laravel 有没有提供懒路由功能

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

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 6

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

5个月前 评论
mowangjuanzi

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

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

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

剩下的就靠你了哦

5个月前 评论

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

5个月前 评论

@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时触发它。

5个月前 评论
L学习不停 5个月前
songxue77 5个月前
songxue77 5个月前
piszd (作者) (楼主) 5个月前
piszd (作者) (楼主) 5个月前
L学习不停 5个月前
piszd (作者) (楼主) 5个月前
piszd (作者) (楼主) 5个月前
lyxxxh

分不同的文件

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

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

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

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


ni
5个月前 评论
largezhou 5个月前
piszd (楼主) 5个月前
largezhou 5个月前
piszd (楼主) 5个月前
piszd (楼主) 5个月前
piszd (楼主) 5个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!