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 函数返回项目根目录的完整路径 。


 


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


 




 


 


 


 


 




  • 2017-06-17 18:33:17

    NodeJs使用asyncAwait两法

    async/await使用同步的方式来书写异步代码,将异步调用的难度降低到接近于0,未来必将大放异彩。然而在当下,由于标准化的缓存步伐,async/await尚在ES7的草案中。为了尝先,特试用了下面两种方式:

  • 2017-06-18 02:26:17

    Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F

    我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范)。正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情。那为什么会报错呢?

  • 2017-06-18 02:34:22

    谈mysql中utf8和utf8mb4区别

    MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。

  • 2017-07-05 09:48:51

    CSS 元素垂直居中的 6种方法

    利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。

  • 2017-07-06 10:02:18

    大白话讲解Promise(一)

    去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。

  • 2017-07-11 21:54:14

    MYSQL5.7版本sql_mode=only_full_group_by问题

    一旦开启 only_full_group_by ,感觉,group by 将变成和 distinct 一样,只能获取受到其影响的字段信息,无法和其他未受其影响的字段共存,这样,group by 的功能将变得十分狭窄了