当前位置: 首页 > 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');

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

http://www.lryc.cn/news/30790.html

相关文章:

  • 【Java学习笔记】6.Java 变量类型
  • Promise对象状态属性 工作流程 Promise对象的几个属性
  • webgpu思考obj携带属性
  • 设计模式(只谈理解,没有代码)
  • 06、Eclipse 中使用 SVN
  • Zookeeper3.5.7版本——客户端命令行操作(命令行语法)
  • 2023.03.05 学习周报
  • java Spring JdbcTemplate配合mysql实现数据批量修改
  • 《算法分析与设计》笔记总结
  • 序列化与反序列化概念
  • 【Java并发编程】CountDownLatch
  • 【iOS】Blocks
  • Java Volatile的三大特性
  • Android Compose——一个简单的Bilibili APP
  • 二叉树的最近公共祖先【Java实现】
  • 关闭应用程序遥测,禁止Windows收集用户信息
  • 【备战面试】每日10道面试题打卡-Day4
  • 热乎的面经——初出茅庐
  • 数据库中各种锁汇总
  • p76 - Python 开发-内外网收集 Socket子域名DNS
  • QCC51XX--eFush Key加密
  • nginx http模块
  • 守护进程 || 精灵进程
  • Zookeeper3.5.7版本——客户端命令行操作(znode 节点数据信息)
  • 如何写好单测
  • CDH-6.3.2内置spark-2.4.0的BUG
  • SpringCloud之ElasticSearch笔记
  • 数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)
  • 2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。
  • MathType7最新版免费数学公式编辑器