laravel 实现 模块式开发

Laravel学习笔记(33)后台切换前台模板(修改默认的加载模版路径) 目的:通过后台点击按钮修改模块config信息,之后登录前台的时候,自动读取后台config信息,判断使用哪种设定好了的前台模板。 后台模板控制页面: 获取前台模板列表: Route::get('template', 'TemplateController@index'); public function index(TemplateService $templateServ... 阅读详情

项目需求:

  对于中大型和后期考虑扩展和维护的项目,常用的MVC模式肯定不行,于是觉得采用HMVC模式开发有利于后期维护与扩展。

  但LARAVEL默认的目录结构式 :

/app/

  /controllers/

     AppController.php

     App2Controller.php

 /models/

     Article.php

 /views/

     layout.blade.php


--------------------------

  现需要采用模块式开发,即每一个模块为一个子目录,子目录下有自己的MVC

/app/

  /modules/

     /article/

        /controllers/

        /models/

        /views/

    /video/

        /controllers/

        /models/

        /views/


于是通过在鸟语FORUM里查了好久,发现现在活跃的方式是 采用一个叫 ModuleManage 的 package

GIT地址:

https://github.com/LevareCMS/modulemanager


---------------------------------------------

下载 采用 composer 方式

  在  composer.json

   

"require": {
		"laravel/framework": "4.0.*",
		"levare/modules": "dev-master"
	},

  然后 执行 composer update (如果是第一次安装,则执行  composer install)

  通过漫长的等待后,会多出一个package

     /vendor/levare

  该目录下的文件 可以修改的地方有一处:

     /levare/modules/src/Levare/templates/module.json  此文件的用途是,在你创建的每个 模块下自动以该模版创建module.json

  安装完成,打开package里面的README.md 最下面有install 的过程,这里不过多阐述。

  module.json 的格式如下

  

{
	"name": "",
	"author": "",
	"license": "",
	"description": "",
	"autoload": [
		"routes.php"
	],
	"global": [
		"controllers",
		"views",
		"models",
		"controllers/admin"
	]
}


   注意元素的引号要用双引号、小弟之前习惯用单引号,结果没有通过json_decode解析成数组。

  autoload  里面添加的文件,会自动加载该文件

  global 里面添加的为目录名,会自动加载这些目录名下面的文件

  小弟在 autoload添加的 routes.php文件里,写的是 该模块的 路由

  这样就可以不用在主routes.php里面写不知道的模块路由了!

--------------

内容有些凌乱,不过大体就是这样了,如果还有问题,就进 package包里 用dd函数 自己慢慢调试, 这个package的代码不是很复杂,功能其实就是自动加载文件 注册namespace。

nWidart/laravel-modules作者对多模块开发的官方解读 laravel-modules多模块开发,Admin、Home划分,插件作者官方解读。 试想一下,如果有一个中等规模的应用程序,所有的东西都在app/文件夹里,更糟糕的是,每个模型都在app文件夹的根部!你会花很多时间寻找东西,因为所有的东西都在一起。在某些时候,你会花很多时间来寻找东西,因为所有东西都在一起。 阅读详情

相关推荐

Laravel模块化开发实战:掌握laravelmodules

本文还有配套的精品资源,点击获取 简介:Laravel框架通过引入模块化概念,帮助开发者高效管理和组织大型应用。本文介绍Laravel模块化的基础和使用 laravelmodules 库创建、管理模块的步骤,包括安装、配置、创建模块、注册模块、编写模块内容、路由和服务提供者设置、迁移和种子数据管理,以及动态加载和卸载模块的技巧。学习这些技术要点将提升开发者在构...

weixin_42143092的博客 2710

laravel 模块化开发

最近项目想用 Laravel 框架做开发,但考虑到随着项目的增大,代码的增多,需求变的复杂多样化,将所有代码写在一起,无疑是一个很大的问题,这将导致代码过于复杂,一些写过的功能点想要重新使用,查找起来太过费劲;所以考虑到使用和其他框架类似的模块化开发,但是 laravel 框架没有明确的模块化划分,所以就想找一下看是否有其他第三方模块化(Module)开发包来使用,毕竟 laravel 社区这么火热和强大,最终找到了模块化开发包,还比较好用,所以总结一下,分享出来。 感慨一下:站在巨人的肩膀上写东西就是好!

猿分已尽的博客 1145

《联邦学习实战》杨强 读书笔记十四——构建公平的大数据交易市场

当数据具有资产属性之后,数据便可以直接或者间接地为公司、为社会创造价值和收益,并且可以作为一种特殊的商品在市场中进行交易。 与传统的商品交易相比,数据资产交易的市场前景更广阔,但同时也面临着很多的挑战,主要包括: 数据的质量、价格如何定义 在合法合规的前提下,数据的交易如何确保不会泄露用户的隐私 如何构建合理的激励机制来鼓励更多的参与方加入数据交易市场中 大数据交易 数据交易的定义 数据交易是指一种对数据进行买卖的行为,大数据交易由三方共同参与,分别为数据提供方、大数据交易平台和数据需求方:

IEEE802_11的博客 3432

laravel的模块化开发

对于刚接触laravel的人来说,知道了控制器、路由、视图等一些基础知识后,就开始动手敲代码了。然而过了没多久你就会发现,你的app下的controller目录,route文件和视图都是很多都是堆在一起。这时候就体现出模块化开发的好处了。模块化开发可以把各个功能逻辑分类,各自都有自己的控制器、路由、视图文件夹,而且模块之间互不影响,删除其中一个模块不会对其他模块产生影响。像下图一样,将后台admi...

那记忆搁浅的博客 2834

AI报告撰写实战指南:从提示词工程到全流程优化的底层逻辑与实践突破

传统AI写作常被诟病为“信息拼贴”——模型虽能生成文本,却常出现逻辑断裂、数据矛盾、风格不符等问题。而“全流程优化”则是通过系统化设计,将报告生成拆解为需求解析→数据对齐→提示词设计→初稿生成→迭代优化→格式适配六大环节,每个环节均通过技术手段提升输出质量。提示词工程:本质是通过结构化指令(如角色设定、任务分解、格式约束、示例引导)精准控制模型输出方向,是连接用户需求与模型能力的“翻译器”。全流程优化。

2501_92808811的博客 884

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 995

laravel8模块化开发laravel-modules

在laravel目录下打开git输入两行命令。这个Admin就是文件名。

m0_62481980的博客 734

相机基础知识讲解:CMOS和CCD

相机基础知识讲解:CMOS和CCD

Coppa的博客 5万+

PHP laravel 加模块,使用 Laravel-Modules 扩展包通过模块化开发大型 Laravel 应用

原标题:使用 Laravel-Modules 扩展包通过模块化开发大型 Laravel 应用简介当我们开发大型应用时,经常需要将应用划分成不同的模块,比如博客、电商、论坛等, Laravel-Modules 就是这样一个使用模块帮助我们管理大型应用的扩展包。模块和扩展包有点类似,包含视图、控制器、模型等子组件,但是用于区别大的功能单元时使用模块更加清晰,本扩展包是 pingpong/modules...

weixin_30495789的博客 787

Unity——Scroll View 滑动居中、居中的放大、其他的缩小(支持横竖Scroll View)

一、效果 二、上代码,两种方式。 (第一种是在Update中用插值完成的,如果不想再项目中看到Update,下面的另一种改了一段用DoTween实现的,需要导入一下DoTween) using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using Unit...

SiReSo 7659

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

Prompt典型构成、原则与技巧,以及OpenAI API重要参数解释,助你轻松入门Prompt

同学小张的博客 2580

laravel4 创建module 模块式开发

最近想自己做一个网站,用laravel4的框架,想把后台和前台分开,开始想到的是用laravel的workbench,但是想想如果能在框架中创建一个modules目录不是更好吗,于是google了好多laravel4 module  最后终于在一个鸟语网站找到了方法,有兴趣的可以去看看,地址:http://creolab.hr/2013/05/modules-in-laravel-4/   ...

guhao022 712

微信小程序 - 实现人脸识别对比+人脸相似度数据,用户从相册选择或拍照上传两张图片进行人脸对比得到人脸相似度及判断是否是同一个人,微信小程序检测人脸相似度(免费纯前端方案+调用第三方API接口方案)

微信小程序实现人脸识别对比,微信小程序人脸对比 人脸对比识别 人脸对比相似度,实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,小程序人脸相似度对比,快速识别两张照片的相似程度(用百分比)图片相似度对比在线测试,图片相似度对比,微信小程序人脸相似度对比分析,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度评分。小程序如何实现人脸相似度比对,小程序纯前端怎么对比两张图片的相似度,计算两幅图像的相似度,图像相似度对比方法,调用百度AI的人脸识别,微信小程序中实现人脸识别认证,实现人脸检测、人脸

🏆 前端领域优质创作者 4862

Thinkphp-Laravel校园快递管理系统_97p62

用户:1、购买商品后,可显示物流状态。2、快递到达时,可提供信息通知服务。3、快递入库出库信息实时更新。4、用户注册登录功能。5、快递单号查询.快递收发等管理员:1、管理员后台可以修改个人信息。2、催收用户收发快递。3、管理员注册登录功能。1、角色:普通用户和管理员,这两个角色都有注册和登录功能。2、请设计制作一个校园快递管理系统的网站,该网站的资源可以以文字,图片,视频以及音频等方式呈现。3、网站的功能至少实现对网站资源的基本的增删改查的操作。

QQ58850198的博客 786

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Laravel 5.8快速教程【CRUD】

在这个面向初学者的教程中,我们将学习如何使用最新的PHP开发框架Laravel 5.8,来创建一个基于MySQL数据库的Web应用,实现联系人的增删改查功能。 如果希望快速掌握区块链应用的开发,推荐汇智网的区块链应用开发系列教程, 内容涵盖比特币、以太坊、eos、超级账本fabric和tendermint等多种区块链,以及 java、go、nodejs、python、php、dart等多种开发语...

新缸中之脑 3060

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Laravel 5.8 :基础组件 —— 中间件

简介 中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过认证(如登录),如果用户没有经过认证,中间件会将用户重定向到登录页面,而如果用户已经经过认证,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理很多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可...

欢迎交流PHP和前端知识QQ:634487911 607

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Laravel-Modules 模块开发

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

yangmuhang2009的博客 1043

php路由类默认模块,Laravel学习教程之路由模块

前言本文主要给大家介绍的是关于Laravel路由模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。备注:本文是基于Laravel 5.4版本的路由模块代码进行分析书写;模块组成下图展示了路由模块中各个文件的关系,并进行简要说明;剖析服务提供者看Laravel模块,首先找ServiceProvider文件,这是模块与IOC容器交互的入口,从这个文件,可以看出该模块提供向...

weixin_27310985的博客 270

Laravel学习笔记(32)域名直接访问模块index视图

目的:直接输入域名,根据后台设定的默认模块,直接跳转到默认模块的HomeController的index方法,并渲染出相应的视图 点击更新缓存按钮后对模块列表数据进行更新 // 新建模块信息存储表 Schema::create('modules', function (Blueprint $table) { $table->increment...

qj4865的博客 870

为现有php项目添加laravel子项目

在主站子目录安装laravel项目的Apache与nginx方案。

Lilia_00的博客 306

Laravel8多模块、多应用

Laravel8多模块、多应用

码奴一只猿 2150

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

laravel多应用laravel多模块laravel多应用路由laravel多模块路由laravel除了首页其他页面都是404

qq_40787608的博客 1902

Laravel实现多模块

Laravel实现多模块

pt1742395895的博客 6678

laravel在APP目录下新建模块

        最近因为公司需要开发前端的API,为了后面的管理方便,博主决定在APP目录下跟后台目录平行新建一个模块,专门来做API,由于没有有过往的经历,所以百度了下,但无奈还是找不到,所以就变着法子,看能不能从路由下手,果然一番操作之后,算是成功的新建一个模块。        首页我们先进行基础东西的创建,我们可以在app目录下先创建一个Api目录,底下分别可以创建控制器、业务、数据模型的...

HZX19941018的博客 1万+

Laravel 路由,只需定义一次以后模块化,无需每次写方法写控制器都要写一遍路由,RSTful API

Route::pattern('version_id', '[0-9]+'); Route::group(['prefix'=>'v{version_id}'],function ($router){ $router->any('/{module}/{controller?}/{action?}/{id?}',function() use ($router){ ...

nextvary的博客 2714
上一篇: php单元测试的安装与使用
下一篇: linux下的xampp安装及mysql终端登录
关澄
博客等级 码龄15年 8粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值