当前位置: 首页 > news >正文

laravel8多模块、多应用和多应用路由

1、安装多应用模块

composer require nwidart/laravel-modules

2、执行命令,config文件夹下生成一个modules.php配置文件

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

3、修改config文件夹下的modules.php,修改两个地方

// 默认的命名空间是modules 我这里修改成了 app
'namespace' => 'App',// app 就是你的路径 你想把模块放在那里 就改路径的地址
'modules' => base_path('app'),

4、修改composer.json文件,在"autoload": 加上 "Modules\\": "Modules/"

"autoload": {"psr-4": {"App\\": "app/","Modules\\": "Modules/"}
}

5、添加新模块Admin

php artisan module:make Admin

6、重新加载composer

composer dump-autoload

7、多模块路由配置

app/Http/Kernel.php中的$middlewareGroups数组中添加以下代码

'admin'=> [\Illuminate\Routing\Middleware\SubstituteBindings::class,
],

app/Providers/RouteServiceProvider.php中的boot方法中添加以下代码prefix是路由前缀,表示我们访问Admin模块的路由都需要加上这个前缀

Route::prefix('admin')->middleware('admin')->namespace($this->namespace)->group(base_path('routes/admin.php'));

在根目录下的routes文件夹创建新的admin.php路由文件,我们用这个文件管理Admin模块的路由

<?phpuse App\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Facades\Route;
Route::get('/index', [AdminController::class, 'index']);

控制器的代码如下
在这里插入图片描述
访问结果
在这里插入图片描述

注意一:我们设置了路由前缀prefixadmin使用后台路由的时候需要加上这个admin
注意二:如果我们访问是404,这时候一般是以下两种情况,第一种是我们首次安装laravel并且用的是nginx服务器,第二种是我们本地用的是apache上线之后是nginx服务器,也会出现这种情况,就是除了首页/根目录可以访问,其他目录都是404,我们修改public目录下的nginx.htaccess配置文件即可,将以下代码复制进去

location / { try_files $uri $uri/ /index.php?$query_string; 
}

404
在这里插入图片描述

修改伪静态之后

在这里插入图片描述

8、更多用法详见文档 laravel-module更多用法中文文档

9、多模块视图

return view(‘模块名::控制器.方法名’);

 return view('admin::manager.create');

在这里插入图片描述
在这里插入图片描述

相关文章:

laravel8多模块、多应用和多应用路由

1、安装多应用模块 composer require nwidart/laravel-modules2、执行命令&#xff0c;config文件夹下生成一个modules.php配置文件 php artisan vendor:publish --provider"Nwidart\Modules\LaravelModulesServiceProvider"3、修改config文件夹下的modules.php&am…...

【Java学习笔记】6.Java 变量类型

Java 变量类型 在Java语言中&#xff0c;所有的变量在使用前必须声明。声明变量的基本格式如下&#xff1a; type identifier [ value][, identifier [ value] ...] ;格式说明&#xff1a;type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 …...

Promise对象状态属性 工作流程 Promise对象的几个属性

Promise 对象状态属性介绍 实例对象中的一个属性 PromiseState pending 1、pending 变为 resolved / fullfilled 成功 2、pending 变为 rejected 失败 说明&#xff1a;只有这2种&#xff0c;且一个promise对象只能改变一次 无论变为成功还是失败&#xff0c;都会有一个结果…...

webgpu思考obj携带属性

今天在搞dbbh.js的时候&#xff0c;想到一个问题&#xff0c;啥问题呢&#xff0c;先看看情况 画2个材质不相同的box的时候 首先开始createCommandEncoder,然后beginRenderPass&#xff0c;分歧就在这里了 第一个box,他有自己的pipeline&#xff0c;第二个也有&#xff0c;那么…...

设计模式(只谈理解,没有代码)

1.什么是设计模式设计模式&#xff0c;是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。2.为什么要学习设计模式看懂源代码&#xff1a;如果你不懂设计模式去看Jd…...

06、Eclipse 中使用 SVN

Eclipse 中使用 SVN1 在 Eclipse 中安装 SVN 客户端插件1.1 在线安装1.2 离线安装2 SVN 在 Eclipse 分享3 检出提交更新3.1 检出3.2 提交3.3 更新4 Eclipse 中 SVN 图标及其含义4.1 &#xff1f;图标4.2 图标4.3 金色圆柱图标4.4 * 图标5 恢复历史版本5.1 恢复步骤5.2 权限控制…...

Zookeeper3.5.7版本——客户端命令行操作(命令行语法)

目录一、命令行语法二、help命令行语法示例一、命令行语法 命令行语法列表 命令基本语法功能描述help显示所有操作命令ls path使用 ls 命令来查看当前 znode 的子节点 [可监听]-w 监听子节点变化-s 附加次级信息create普通创建-s 含有序列-e 临时&#xff08;重启或者超时消失…...

2023.03.05 学习周报

文章目录摘要文献阅读1.题目2.摘要3.介绍4.SAMPLING THE OUTPUT5.LOSS FUNCTION DESIGN5.1 ranking loss: Top1 & BPR5.2 VANISHING GRADIENTS5.3 ranking-max loss fuction5.4 BPR-max with score regularization6.实验7.结论深度学习1.相关性1.1 什么是相关性1.2 协方差1…...

java Spring JdbcTemplate配合mysql实现数据批量修改

其实这个操作和批量添加挺像的 调的同一个方法 首先 我们看数据库结构 这是我本地的 mysql 里面有一个test数据库 里面有一张user_list表 然后创建一个java项目 然后 引入对应的JAR包 在src下创建 dao 目录 在下面创建一个接口 叫 BookDao 参考代码如下 package dao;impo…...

《算法分析与设计》笔记总结

《算法分析与设计》笔记总结第一章 算法引论1.1 算法与程序1.2 表达算法的抽象机制1.3 描述算法1.4 算法复杂性分析第二章 递归与分治策略2.1 递归的概念2.2 分治法的基本思想2.3 二分搜索技术2.4 大整数乘法2.5 Strassen矩阵乘法2.7 合并排序2.8 快速排序2.9 线性时间选择2.10…...

序列化与反序列化概念

序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。 在Java中创建的对象&#xff0c;只要没有被回收就可以被复用&#xff0c;但是&#xff0c;创建的这些对象都是存在于JVM的堆内存中&#xff0c;JVM处于运行状态时候&#xff0c;这些对象可以复用&#xff0c; 但…...

【Java并发编程】CountDownLatch

CountDownLatch是JUC提供的解决方案 CountDownLatch 可以保证一组子线程全部执行完牛后再进行主线程的执行操作。例如&#xff0c;主线程启动前&#xff0c;可能需要启动并执行若干子线程&#xff0c;这时就可以通过 CountDownLatch 来进行控制。 CountDownLatch是通过一个线程…...

【iOS】Blocks

BlockBlocks概要什么是Blocks&#xff1f;Block语法Block类型变量截获自动变量值__block说明符Blocks的实现Block的实质Blocks概要 什么是Blocks&#xff1f; Blocks可简单概括为&#xff1a; 带有自动变量&#xff08;局部变量&#xff09;的匿名函数 在使用Blocks时&#x…...

Java Volatile的三大特性

本文通过学习&#xff1a;周阳老师-尚硅谷Java大厂面试题第二季 总结的volatile相关的笔记volatile是Java虚拟机提供的轻量级的同步机制&#xff0c;三大特性为&#xff1a;保证可见性、不保证原子性、禁止指令重排一、保证可见性import java.util.concurrent.TimeUnit;class M…...

Android Compose——一个简单的Bilibili APP

Bilibili移动端APP简介依赖效果登录效果WebView自定义TobRow的Indicator大小首页推荐LazyGridView使用Paging3热门排行榜搜索模糊搜索富文本搜索结果视频详情合集信息Coroutines进行网络请求管理&#xff0c;避免回调地狱添加suspendwithContextGit项目链接末简介 此Demo采用A…...

二叉树的最近公共祖先【Java实现】

题目描述 现有一棵n个结点的二叉树&#xff08;结点编号为从0到n-1&#xff0c;根结点为0号结点&#xff09;&#xff0c;求两个指定编号结点的最近公共祖先。 注&#xff1a;二叉树上两个结点A、B的最近公共祖先是指&#xff1a;二叉树上存在的一个结点P&#xff0c;使得P既是…...

关闭应用程序遥测,禁止Windows收集用户信息

目录 1. 先创建还原点&#xff0c;防止意外 2. 界面设置 3. 服务 (1) GPEdit.msc - 本地计算机策略 - 计算机配置 - 管理模板 - Windows 组件 - 应用程序兼容性 - 关闭应用程序遥测 - 已启用 (2) GPEdit.msc - 本地计算机策略 - 计算机配置 - 管理模板 - Windows 组件 - 数…...

【备战面试】每日10道面试题打卡-Day4

本篇总结的是Java集合知识相关的面试题&#xff0c;后续也会更新其他相关内容 文章目录1、HashMap在JDK1.7和JDK1.8中有哪些不同&#xff1f;2、HashMap 的长度为什么是2的幂次方&#xff1f;3、HashMap的扩容操作是怎么实现的&#xff1f;4、HashMap是怎么解决哈希冲突的&…...

热乎的面经——初出茅庐

⭐️前言⭐️ 本篇文章记录博主与2023.03.04面试上海柯布西公司&#xff0c;一面所被问及的面试问题&#xff0c;回答答案仅供参考。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主将持续更新学习记录收获&am…...

数据库中各种锁汇总

本文汇总简记数据库中的各种锁。 名称英文名称定义解释悲观锁Pessimistic Lock在访问数据前先加锁&#xff0c;防止其他事务的并发修改数据通过获取锁来保证数据的独占性&#xff0c;从而避免并发修改数据带来的问题。乐观锁Optimistic Lock在修改数据时先不加锁&#xff0c;而…...

从“被看错”到“卖爆”,宇树机器人全国首店开业:机器狗平价上路,人形机器人掀价!

在经历了八年的深耕与资本的反复试炼后&#xff0c;杭州宇树科技&#xff08;Ushush Technology&#xff09;今天迎来了一个标志性的时刻——其全国首家线下门店正式在京东Mall西门入口处开业。这不仅是宇树向消费者展示“具身智能”实力的窗口&#xff0c;更是其“讲人形的故事…...

企业PTC软件正版化路径与长期价值分析

企业PTC软件正版化路径和长期价值分析我帮一家制造业客户处理软件正版化问题&#xff0c;提醒一句到他们的巨头供应商PTC的许可证使用率常年徘徊在30%左右&#xff0c;年均浪费成本超过800万&#xff0c;这事儿在行业内其实挺普遍的。如果说你正在为软件许可证管理头疼&#xf…...

丧尸危机模拟:灾备系统的终极压力测试

对于软件测试从业者而言&#xff0c;压力测试早已是日常工作的一部分。我们习惯于用并发用户数、吞吐量、响应时间等冰冷指标&#xff0c;去描绘一个系统在极限负载下的“抗压能力”。然而&#xff0c;当我们将这些概念投射到一个更宏大、更富有冲击力的隐喻——丧尸危机之中时…...

【深伪检测】论文整体调研与梳理方法

一、单篇论文精读&#xff1a;抓核心信息&#xff08;先“拆”后“懂”&#xff09; 每篇论文都要完成「标题→摘要→引言→方法→实验→相关工作」的递进式阅读&#xff0c;目的是精准捕捉“这篇论文在解决什么问题、用了什么方法、做出了什么贡献”。标题摘要&#xff08;10分…...

终极指南:Spinnaker资源生命周期管理的完整流程与最佳实践

终极指南&#xff1a;Spinnaker资源生命周期管理的完整流程与最佳实践 【免费下载链接】spinnaker Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. 项目地址: https://gitcode.…...

Linux网络诊断工具ping、traceroute等命令实战指南

在Linux系统的网络世界里&#xff0c;网络诊断工具就像是我们手中的“听诊器”&#xff0c;能够帮助我们精准地找出网络中存在的问题。今天&#xff0c;我们就来深入了解ping、traceroute等网络诊断命令的使用&#xff0c;通过实际操作和示例&#xff0c;让你轻松掌握使用这些工…...

如何在 React Native 中使用 Expo AV 高效缓存视频文件

本文详解在裸 React Native 项目中集成 expo-av 实现视频本地缓存的完整方案&#xff0c;涵盖路径处理、文件写入、URI 适配及常见兼容性问题&#xff08;如 react-native-fs 路径不被 expo-av 识别&#xff09;&#xff0c;并提供可直接运行的优化代码与关键注意事项。 本…...

Phi-4-mini-reasoning Chainlit插件开发:集成代码执行与结果可视化

Phi-4-mini-reasoning Chainlit插件开发&#xff1a;集成代码执行与结果可视化 1. 项目概述 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型&#xff0c;专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员&#xff0c;它特别强化了数学推理能力…...

机械键盘连击终结者:三分钟搞定键盘“鬼键“问题

机械键盘连击终结者&#xff1a;三分钟搞定键盘"鬼键"问题 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 还在为机械键盘的&…...

FK-Onmyoji:阴阳师终极自动化护肝助手完整使用指南

FK-Onmyoji&#xff1a;阴阳师终极自动化护肝助手完整使用指南 【免费下载链接】FK-Onmyoji 阴阳师抗检测多功能脚本 项目地址: https://gitcode.com/gh_mirrors/fk/FK-Onmyoji 阴阳师玩家们&#xff0c;是否厌倦了重复枯燥的日常任务&#xff1f;FK-Onmyoji为您带来革命…...