laravel多路由配置,也可以做根据域名都动态路由

2019-12-01 08:04:30

在用laravel 框架开发大型应用的时候,由于 laravel 默认是只有一个路由文件,如果把项目所有模块的路由放在一个路由文件下,那么该路由文件就显得很臃肿,以至于后期难以维护,解决方案是根据不同模块配置不同路由文件。


首先说下这里的环境:wamp + composer + laravel5.5 。


wamp 环境子行百度下载安装即可,记得最后要添加到 系统 path。


下面简单说下composer 安装,我这里采用 composer.exe 安装 ,下载地址:https://getcomposer.org/download/ 。然后下一步安装,最后添加到系统path。


 




 


上面步骤完了后,进入到composer 安装lalravel 的过程。


至于laravel 安装可以参考:https://blog.csdn.net/zhang_referee/article/details/82915367。


 


配置:composer 中国镜像。


下面是采用全局配置:


composer config -g repo.packagist composer https://packagist.phpcomposer.com


更多配置方式可参考:https://pkg.phpcomposer.com/。


 




下面是已下载的laravel 项目代码。




 


添加虚拟站点,测试能跑通


 




 


 




运行结果:




 


接下来配置多文件路由:


  首先需要创建一个目标路由文件:文件名和路径无所谓,但为了规范起见,个人建议放在routes 文件夹下。我这里创建market这个路由。




 


然后打开 : app/Providers/RouteServiceProvider.php ,找到 mapApiRoutes() 方法,加入类似以下的代码:


    //新建路由

         Route::group([

            'middleware' => 'web',

            'namespace'  => $this->namespace,

            'prefix'     => 'market',

        ], function ($router) {

            require base_path('routes/market.php');

        });

 


类似如下:


 




 


其中,


  middware 表示中间件,这里填写了默认的web ,如果有需要替换之即可。


  namespace 这里默认即可。


  prefix 是指路由前缀,这个是直接体现在url 上的。


  require base_path('routes/market.php')  是指 引入项目根目录完整路劲routes文件夹下的market.php 这个文件。base_path 函数返回项目根目录的完整路径 。


 


完了后,保存即可,然后到浏览器访问测试:


 




 


 


 


 


 




  • 2020-11-22 23:00:16

    androidx中的lifecycle组件

    Lifecycle-aware components生命周期感知组件执行操作,以响应另一个组件生命周期状态的更改,例如Activity和Fragment。这些组件可以帮助您生成更有组织、更容易维护的轻量级代码。

  • 2020-11-22 23:02:50

    Android数据存储之DataBase的Room

    Room是Google在AndroidX中提供的一个ORM(Object Relational Mapping,对象关系映射)库。它是在SQLite上提供的一个抽象层,可以使用SQLite的全部功能,同时可以更好更便捷流畅地访问数据库。(关于AndroidX可以参考

  • 2020-11-22 23:04:39

    Android组件 LiveData与MutableLiveData教程

    LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).

  • 2020-11-22 23:14:52

    Dagger 2 在 Android 上的用法

    在前面的文章我们介绍了Dagger2 中的大部分注解的使用,接下来我们从源码角度分析下第一篇文章中例子的原理。

  • 2020-11-22 23:18:59

    Android开发从Dagger2迁移至Kodein的感受

    最近个人在尝试构建 Kotlin版本 的Android MVVM开发框架,在依赖注入框架的选型上,我最终选择了 Kodein 。这是一个非常轻量级的DI框架,相比于配置繁琐的Dagger(繁琐的配置也是导致Dagger学习成本一直居高不下的原因!),它的配置过程更清晰且简单,并且,这个库的源码也是 Kotlin 的。

  • 2020-11-22 23:25:56

    Dagger2源码解析inject过程

    添加inject后,通过编译生成的DaggerMainComponent类来导入,说明编译以后生成了一些类,那到底生成了什么类呢。 Module和Component又是什么,该怎么里理解 在这篇文章后里将一一讨论。

  • 2020-11-22 23:27:28

    dagger学习教程

    dagger android 学习(一):dagger基础使用 dagger android 学习(二):AndroidInjector的使用 dagger android 学习(三):ContributesAndroidInjector的进一步优化 dagger android 学习(四):基于dagger2的mvp架构

  • 2020-11-22 23:31:22

    Dagger2与AndroidInjector详解

    相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍:Dagger2使用攻略),我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样:

  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,