基于webman实现的服务层框架-webman-biz-framework
简介
webman的基础上扩展的一个服务层框架,基于分层体系结构的代码模式.
如果觉得有用,可以帮我在webman-biz-framework点个小星星哟,也希望大家交流
分层体系结构的代码模式
什么是分层体系??为什么要用它?
我想上面的问题或许是看到这篇随笔的朋友想问的,下面我向大家发表下我个人的看法。
什么是分层体系?
代码架构模式上,mvc模式是编程历史长河中浓墨重彩的一种模式了,几乎每个后端程序员都是用过它。而我们的分层体系其实就是在原来的三层结构上建立的四层结构。可以看到我下面的代码编写说明写到的调用顺序。我们多的这一层叫:服务层(service层)。
为什么要用它?
说到为什么要用它,那就必须要知道它主要解决了什么问题。service层是我们业务逻辑的集中体现,它承接了上层(可以是控制器、resource、command等)的数据,然后在此进行业务逻辑编写,最后传递给下层(数据代理层)。最后一句话挽总:核心 就是 代码解耦,如果哪天你发现你用的某个框架不好了,你只需要换掉service的上层(比如controller),你的核心业务是可以一并快速迁移
送大家一篇文章DAO层和Service层的究极理解--这波我在大气层
教程
安装
git clone https://github.com/jiechengyang/webman-biz-framework
使用
- 新建数据表(以article表为例)
- 用工具生成表并复制好生成表的sql语句
- 配置系统参数
cp .env.example .env
#env里面主要配置的是数据库
生成迁移脚本
bin/phpmig generate article_table
#参考已有的migrate的脚本替换当前需要的sql语句
生成代码模板,快速crud
php console make:biz Article
# 如果需要自定义表名的可以:php console make:biz Article article2
# 代码调用顺序:资源层(command ,controller,reset resource)->服务层(service层)->数据层(Dao层)
基于webman实现的服务层框架-webman-biz-framework的更多相关文章
- 一篇文章带你掌握主流服务层框架——SpringMVC
一篇文章带你掌握主流服务层框架--SpringMVC 在之前的文章中我们已经学习了Spring的基本内容,SpringMVC隶属于Spring的一部分内容 但由于SpringMVC完全针对于服务层使用 ...
- 基于.NET平台常用的框架整理(转)
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的 学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到, ...
- 【转】基于.NET平台常用的框架整理
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累 了一些开源的组件,就目前想到的先整理于此,如果再想到, ...
- 基于.NET平台常用的框架整理
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...
- 基于Ruby的Watir-WebDriver自动化测试框架
基于Ruby的watir-webdriver自动化测试方案与实施(五) 基于Ruby的watir-webdriver自动化测试方案与实施(四) 基于Ruby的watir-webdriver自动 ...
- 基于thrift的微服务框架
前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支 ...
- 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)
1.艺萌文件上传下载及自动更新系统,基于Winform技术,采用CS架构,开发工具为vs2010,.net2.0版本(可以很容易升级为3.5和4.0版本)开发语言c#. 本系统主要帮助客户学习基于TC ...
- 基于.NET平台常用的框架整理【转】
转:http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产 ...
- 【转】发布一个基于NGUI编写的UI框架
发布一个基于NGUI编写的UI框架 1.加载,显示,隐藏,关闭页面,根据标示获得相应界面实例 2.提供界面显示隐藏动画接口 3.单独界面层级,Collider,背景管理 4.根据存储的导航信息完成界面 ...
- 基于.NET的微软ORM框架视频教程(Entity Framework技术)
基于.NET的微软ORM框架视频教程(Entity Framework技术) 第一讲 ORM映射 第二讲 初识EntifyFramework框架 第三讲 LINQ表达式查询 第四讲 LINQ方法查询 ...
随机推荐
- arch 音频处显示没有输入或输出设备
我的设备是 Dell G15 5511, 属于比较新的设备, 查看了 Fourm 与 wiki 后使用 1 yay -S sof-firmware 安装框架之后重启即可使用.
- FISCO BCOS 控制台 部署合约 调用 查看已部署合约的地址
deploy 部署合约.(默认提供HelloWorld合约和TableTest.sol进行示例使用) 参数: 合约路径:合约文件的路径,支持相对路径.绝对路径和默认路径三种方式.用户输入为文件名时,从 ...
- Base58在java程序中应用
Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址. 相比Base64,Base58不使用数字"0",字母大写"O" ...
- [转]EasyUI 搭建后台登录界面和管理系统主界面
原文链接: EasyUI 搭建后台登录界面和管理系统主界面
- VS2010/MFC 获取当前程序路径的方法
第一种方法 DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LP ...
- 详解AQS五:深入理解共享锁CountDownLatch
CountDownLatch是一个常用的共享锁,其功能相当于一个多线程环境下的倒数门闩.CountDownLatch可以指定一个计数值,在并发环境下由线程进行减一操作,当计数值变为0之后,被await ...
- [LC593]有效的正方形-Valid Square
题目描述 给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true . 点的坐标 pi 表示为 [xi, yi] .输入 不是 按任何顺序给出的. 一个 ...
- map循环如何跳出循环
今天在开发的时候遇到了一个问题.就是想在使用map的时候跳出循环无法实现,于是就在网上搜寻了一番,说map本身不能跳出循环,有一个大佬提出了抛出异常的方法,记录一下 let list=[1,2,3,4 ...
- 优化永不止步:TinyVue v3.20.0 正式发布,更美观的官网UI,更友好的文档搜索,更强大的主题配置能力~
你好,我是 Kagol,个人公众号:前端开源星球. 我们非常高兴地宣布,2024年12月4日,TinyVue 发布了 v3.20.0 . 本次 3.20.0 版本主要有以下重大变更: OpenTiny ...
- c# 设置WebBrowser的UserAgent
void SuppressScriptErrors(WebBrowser webBrowser, bool hide) { webBrowser.Navigating += (s, e) => ...