广告
返回顶部
首页 > 资讯 > 精选 >Laravel路由文件划分的方法
  • 794
分享到

Laravel路由文件划分的方法

2023-06-15 07:06:30 794人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Laravel路由文件划分的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServicePr

这篇文章将为大家详细讲解有关Laravel路由文件划分的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServiceProvider 处拆分路由的方式。

<?PHPnamespace App\Providers;use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;use Illuminate\Support\Facades\Route;class RouteServiceProvider extends ServiceProvider{    protected $namespace = 'App\Http\Controllers';    public function boot(){        parent::boot();    }    public function map(){        $this->mapapiRoutes();        $this->mapWEBRoutes();    }    protected function mapWebRoutes(){        Route::middleware('web')        ->namespace($this->namespace)        ->group(base_path('routes/web.php'));    }    protected function mapApiRoutes(){        Route::prefix('api')        ->middleware('api')        ->namespace($this->namespace)        ->group(base_path('routes/api.php'));    }}

我将与用户有关的路由抽象到了一个名为 users.php 的文件中,并将 mapApiRoutes 复制为 mapUsersRoutes 并指向到我的 users.php 文件。

public function map(){    $this->mapApiRoutes();    $this->mapWebRoutes();    $this->mapUsersRoutes();}protected function mapUsersRoutes(){    Route::prefix('api')    ->middleware('api')    ->namespace($this->namespace)    ->group(base_path('routes/users.php'));}

我知道您在想什么,显然,这并不是最好的解决方案,因为每当我们需要创建新文件时,都必须像之前一样注册它。 因此,我不得不改进这个最初的想法。

我想到了将整个应用程序中的公共部分拆分成单独的路由文件,并且我想到我们的所有路由都不能超出已认证、访客和公共路由的范围。

我将路由文件夹的结构优化成下面这样:

├── routes  

│   ├── api   

│   │   ├── public

│   |   │   ├── users.php

│   │   ├── auth

│   |   │   ├── users.php

│   │   ├── guest

│   |   │   ├── users.php

乍一看,您可能会认为 “嗯,它并没有太大变化,我们还是需要去映射这些文件”。 但是,实际上我们可以利用 php 原生提供的名为 glob 的函数,这是一种开箱即用的解决方案,因为我们没有与 laravel 的解决方案耦合。

glob 接收一个正则,并且可以在与我们的正则匹配的路径下找到文件名。 因此,我们的路由是在特定文件夹下组织的,我们现在可以在这些文件夹下找到所有文件,并将它们注册到其中间件

<?phpnamespace App\Providers;use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;use Illuminate\Support\Facades\Route;class RouteServiceProvider extends ServiceProvider{    protected $namespace = 'App\Http\Controllers';    public function map(){        $this->mapAuthRoutes();        $this->mapGuestRoutes();        $this->mapPublicRoutes();    }    protected function mapWebRoutes(){        Route::middleware('web')        ->namespace($this->namespace)        ->group(base_path('routes/web.php'));    }    protected function mapAuthRoutes(){        foreach (glob(base_path('routes/api/auth/*.php')) as $file) {            Route::prefix('api')            ->middleware(['api', 'auth:api'])            ->group($file);        }    }    protected function mapGuestRoutes(){        foreach (glob(base_path('routes/api/guest/*.php')) as $file) {            Route::prefix('api')            ->middleware(['api', 'guest:api'])            ->group($file);        }    }    protected function mapPublicRoutes(){        foreach (glob(base_path('routes/api/public/*.php')) as $file) {            Route::prefix('api')            ->middleware('api')            ->group($file);        }    }}

现在,无论何时我们创建一个新文件,foreach 都将找到它,因为它是使用正则匹配(该文件位于对应的路径下,并且具有 PHP 扩展名,因此它与我们的正则匹配)。

关于“Laravel路由文件划分的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Laravel路由文件划分的方法

本文链接: https://www.lsjlt.com/news/278546.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Laravel路由文件划分的方法
    这篇文章将为大家详细讲解有关Laravel路由文件划分的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServicePr...
    99+
    2023-06-15
  • 浅谈一种Laravel路由文件划分方式
    最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServiceProvider 处拆分路由的方式。 <?php namespace ...
    99+
    2022-11-12
  • PHP中灵活运用路由配置文件的方法
    概述:在开发Web应用程序时,路由是非常重要的一部分。通过路由,可以将请求映射到相应的处理程序上,实现不同URL的访问逻辑。在PHP中,可以通过灵活运用路由配置文件,方便地管理和维护路由规则。本文将介绍如何使用路由配置文件,以及给出具体的代...
    99+
    2023-10-21
    PHP路由配置 灵活配置路由 路由配置文件
  • html5异步加载路由组件的方法
    这篇文章主要介绍“html5异步加载路由组件的方法”,在日常操作中,相信很多人在html5异步加载路由组件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5异步加...
    99+
    2022-10-19
  • laravel框架中路由设置、参数和命名的方法是什么
    本篇内容介绍了“laravel框架中路由设置、参数和命名的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!laravel中必须先配置...
    99+
    2023-07-04
  • vue组件的路由高亮问题解决方法
    前言 之前我对于路由的高亮都是使用缓存,给他的所有路由遍历一遍,每点击一下的时候,给他的当前值高亮,赋值active。后来发现一刷新就不行,高亮的就变成默认值0了,这里主要是讲这个问...
    99+
    2022-11-12
  • laravel没有vendor文件夹的解决方法
    要么是从github上直接下载,要么就是安装过程中出现了类似于:https://repo.packagist.org could not be fully loaded这种网络报错。 原因 墙 解决方法: 修改composer全局配置文...
    99+
    2023-09-12
    laravel php
  • vue实现tab路由切换组件的方法实例
    前言 本文介绍的是使用vue自带的vue-router.js路由实现分页切换功能,下面话不多说了,来一起看看详细的实现代码吧 实现图片如下 下列为实现代码 css: *{ ...
    99+
    2022-11-12
  • Python 分布式系统中路径规划的实现方法探究
    在分布式系统中,路径规划是一个非常关键的问题。它涉及到如何在多个节点之间选择最优路径,以便在最短的时间内完成任务或传输数据。本文将探究 Python 分布式系统中路径规划的实现方法,并演示相关代码。 一、路径规划的概念和意义 路径规划是指...
    99+
    2023-10-24
    分布式 面试 path
  • PHP怎么修改文件路径?常见方法分享
    PHP是一种广泛使用的动态编程语言,可用于创建Web应用程序和动态网页。当我们使用PHP编写Web应用程序时,通常需要在代码中读取和操作文件。在这个过程中,我们可能会遇到需要修改文件路径的情况,这时我们需要了解如何在PHP中正确地修改文件路...
    99+
    2023-05-14
    php
  • Oracle修改控制文件路径的方法
    这篇文章主要介绍“Oracle修改控制文件路径的方法”,在日常操作中,相信很多人在Oracle修改控制文件路径的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle...
    99+
    2022-10-18
  • android读取sdcard路径下的文件的方法
    代码如下:// 读取sdcard文件private void sdcardRead(){String fileName = "/sdcard/my_sdcard.txt";/...
    99+
    2022-06-06
    方法 Android
  • Android TextView控件文字添加下划线的实现方法
    如下所示: TextView tv = (TextView) findViewById(R.id.text); tv.getPaint().setFlags(Paint.U...
    99+
    2022-06-06
    方法 下划线 Android
  • springmvc中下载中文文件名称为下划线的解决方法
    这篇文章跟大家分析一下“springmvc中下载中文文件名称为下划线的解决方法”。内容详细易懂,对“springmvc中下载中文文件名称为下划线的解决方法”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面...
    99+
    2023-06-29
  • python获取工程路径下的文件方法
    import time, os, random import subprocess import re PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__fil...
    99+
    2023-01-31
    路径 文件 方法
  • 更改pycharm文件路径的方法是什么
    要更改PyCharm文件路径,可以按照以下步骤进行操作:1. 打开PyCharm软件。2. 点击菜单栏中的“File”(文件)选项。...
    99+
    2023-09-26
    pycharm
  • Python实现通过文件路径获取文件hash值的方法
    本文实例讲述了Python实现通过文件路径获取文件hash值的方法。分享给大家供大家参考,具体如下: import hashlib import os,sys def CalcSha1(filepath...
    99+
    2022-06-04
    文件 路径 方法
  • Linux下分析bin文件的方法
    这篇文章主要介绍“Linux下分析bin文件的方法”,在日常操作中,相信很多人在Linux下分析bin文件的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下分析bin文件的方法”的疑惑有所帮助!...
    99+
    2023-06-16
  • Sqlserver移动文件路径move datafile的三种方法
    sqlserver移动文件的三种方法 1、设置数据库分离,再把文件拷贝到新目录,再附加 2、设置数据库脱机,再把文件拷贝到新目录, 再ALTER DATABASE XX MODIFY FI...
    99+
    2022-10-18
  • python文件与路径管理的方法是什么
    这篇“python文件与路径管理的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python文件与路径管理的方法是...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作