概述
前言
由于工作中前后端开发工作分离的问题,现阶段后端功能怎在设计中,前端UI也正在调整中。好像项目也无法开始。于是为了满足提前开发,不用自己创造数据,就尝试使用mock类工具。尝试过Mock.js
对于硬编码的mock不是特别喜欢,也搭过express server,也不是太如我意。就尝试用php写了个小框架,配合Faker,实现了数据的模拟。在我眼中,这才是真正的分离,前后端的中间件
。
前期预备
修改本地host,(C:WindowsSystem32driversetchosts)配置一个虚拟域名给localhost。在最后一行中加入:
127.0.0.1 milfun.com
然后在Apache的conf文件中修改httpd-vhost.conf文件,将刚才的虚拟域名加进来。
<VirtualHost *:80>
DocumentRoot "D:zendApache24htdocsMilFun"
ServerName milfun.com
<Directory "D:zendApache24htdocsMilFun">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
框架开发
框架目录
主要分为两个文件夹,MilFun为框架核心文件,app为项目实际开发目录。图中的Faker就是php的mock插件。
入口文件
核心函数
既然是中间件,我觉得能实现一些基本功能就好——输入与输出
基本框架:就是十分成熟的MVC结构,但是这里只实现C就好,因为是模拟接口,只要能控制业务跳转就好。
业务清晰:所以分析url地址然后分配路由,跳转至对应的php文件,也要有能力获取url中的参数,
接口数据:返回符合格式的Ajax数据。
我将返回数据写成了R方法,用户就可以快速返回code,message及data Json格式的数据供前端使用。
路由控制
例如:
当用户访问:http://milfun.com/jobs/
将会自动跳到app目录下的jobs.php文件中,如果jobs.php不存在则会自动新建一个。
业务处理
在jobs.php中只有两个函数。All就是url中只有控制器不带任何参数,则会进入All方法中,有带参数则进入One方法中。当然你也可以在这两个方法中写些判断,跳转至具体的业务方法中。
上图中的方法则会自动返回名字、邮箱和地址。
好处
可以不用等待后端功能都开发完毕,再调用数据接口,直接使用模拟数据就好。
也可以使用这个项目和后端约定好数据返回的格式,参数。到时候直接修改接口地址就好。这才是真正的解耦吧!
然后在前端中,就不用等待后端所有接口都写好,在来开发了,
除了一些文字数据,也可以模拟头像信息,是不是十分强大。
说在最后
该项目还未开源,因为一切尚都刚开始,还有太多不足,只供自己使用及优化,如果你确实觉得不错,你也可以私信我获取,谢谢支持。
最后
以上就是个性橘子为你收集整理的这是一个前后端分离优雅的Mock框架的全部内容,希望文章能够帮你解决这是一个前后端分离优雅的Mock框架所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复