如果你在写服务端 (PHP) ,会因为项目须求(做app、pc、mobiel、微信) 而写几套代码的,你不觉得很累吗? 现在的很多开源框架商用版本在做程序方面都是这么一套一套的,维护起来,二开起来特别的蛋疼呀,所以本人就有了一想法,如果各端能写一套,或某些代码一套就会少写很多代码了

好久没有上cnblogs了,也是因为自己最近的时间忙于其它事情,也在为上面说的问题大费心思,最后决定弄一个开发方快速、维护方便、扩展灵活、可组件式开发、代码复用高、耦合低的这么一个系统tpframe,这是一个用thinkphp 5.o基础上开发的管理系统,刚开始选择框架,在yii、laravel、thinkphp之间不好说哪个好与不好,但最后选择thinkphp的原因是他用起最简单,上手很快,别说它好与不好,能快速入手的,肯定是大家认可的,加上它的用户量,所以最后就选择它了,tpframe已应用于一些项目,项目结构基本完善,百分百开源,希望你能喜欢(我又不是人民币~)... 下面我就大体说一下是怎么减少我们很代码工作量的,具体它有什么好处,谁用谁知道,点击去tpframe官网看年

APP端

对于app端我们写的更多的就是后台数据管理,然后就是api接口,估计也没再多其它的了

H5:

如果你们做的是前、后端分享的形式,那跟app端差不多,写后台跟接口,又或者你直接套代码的形式

微信:

这个跟h5一样,多的就是一些微信二开的东西,比如微信登录,微信分享,微信推送等等之类的

PC:

现在pc端也有很多做前后端分享的,当然这样服务器又得写api,个人觉得直接套代码也很快(OK)了,这个项目负责人或客户怎么想了

结论:

不管你写哪一端,感觉只写api就可以了,哈哈~~,说起是这样的,PHPer写一api,全套都用上了,so easy!再也不用写那么多代码了。哈哈。。。。。。。 我笑了,理想是完美的,现实是苦B的。为了以后扩展,维护,老实分开写才是上上策

有人想,分开写不就写几套了吗,是的,这里的分开仅仅是数据处理分开写,数据库的一些操作我们就可以共用了呀,更确切的说,数据库的增、删、改、查,以及数据处理逻辑这些可以共用,但这也是我们写得比较多的,那其它的数据处理为什么要分开呢? 因为不同的端可能返回的数据格式不一样,APP端我们返回的通常就是json格式,而Pc我们不仅要赋值模板,还要渲染视图操作。

系统数据分层:

logic :数据处理层,也可以说是数据库的粒子操作

service:引用logic层的操作,进行数据后期处理,判断之类的,像一个操作可以会跨多个logic操作的时候,写在service就显得很有必须

controller:数据转发与响应操作

validate:数据验证层

model:模型层

view:视图层

然后:我们可以把逻辑放在公共(Common)模块里面,然后每个模块都可以共用这个模块的逻辑,分别调用数据后进行相应的处理。

最后:不建议把后台逻辑放公共模块里面,后台应该是独立出来的一块。

再啰嗦:项目有待大家考验,一直完善中,觉得不错的,多帮忙推荐给其它程序员,动动鼠标不算强奸,哈哈~~~

发现问题,欢迎大胆吐槽,沙发位等你...

推荐:让你快速搞定各服务端(api,pc,mobile,wechat)代码的更多相关文章

  1. 服务端API 工作经验(没有工作的是体会不到的)

    1.慢慢了解以下内容 [{xx:xxx,xx:xxx},{xx:xxx,xx:xxx},{xx:xxx,xx:xxx},]-- 数据 data 服务端API 状态代码(01代表成功) message ...

  2. 为什么说要搞定微服务架构,先搞定RPC框架?

    今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC框架呢? 一.需求缘起 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队 ...

  3. 手把手教你制作微信小程序,开源、免费、快速搞定

    最近做了个"罗孚传车"的小程序 一时兴起,做了一个小程序,将个人收集的同汽车相关的行业资讯和学习资料,分享到小程序中,既作为历史资料保存,又提供给更多的人学习和了解,还能装一下:) ...

  4. 【58沈剑架构系列】为什么说要搞定微服务架构,先搞定RPC框架?

    第一章聊了[“为什么要进行服务化,服务化究竟解决什么问题”] 第二章聊了[“微服务的服务粒度选型”] 今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC ...

  5. 为什么说要搞定微服务架构,先搞定RPC框架

    今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC框架呢? 一.需求缘起 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队 ...

  6. 快速理解高性能HTTP服务端的负载均衡技术原理(转)

    1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...

  7. C#开发BIMFACE系列4 服务端API之源上传文件

    在注册成为BIMFACE的应用开发者后,要能在浏览器里浏览你的模型或者获取你模型内的BIM数据, 首先需要把你的模型文件上传到BIMFACE.根据不同场景,BIMFACE提供了丰富的文件相关的接口. ...

  8. C#开发BIMFACE系列43 服务端API之图纸拆分

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在上一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>的最后留了一个问题,在常规业务场景下,一 ...

  9. C#开发BIMFACE系列46 服务端API之离线数据包下载及结构详解

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>中通过调用接口成功的创建一个离线数 ...

随机推荐

  1. Numpy入门 - 数组聚合运算

    本节主要讲解numpy的几个常用的聚合运算,包括求和sum.求平均mean和求方差var. 一.求和sum import numpy as np arr = np.array([[1, 2, 3], ...

  2. 《Linux命令行与shell脚本编程大全》第二十一章 sed进阶

    本章介绍一些sed编辑器提供的高级特性. 21.1 多行命令 按照之前的知识,所有的sed编辑器命令都是针对单行数据执行操作的. 在sed编辑器读取数据流时,它会基于换行符的位置将数据分成行,一次处理 ...

  3. php代码在服务器中查看接值

    error_log("You messed up!", 3, "/var/tmp/my-errors.log");

  4. mysql索引优化面试题

    曾经偷偷的面试了两个单位,都提到了Mysql的优化问题,所以以后要多多学习数据库的优化知识了.建设数据库的优化大概主要就是索引的优化了吧,因为我们不可能修改数据结构的情况下,提高数据库的查询效率似乎也 ...

  5. yii2.0中数据缓存之增删改查

    public function actionSss(){ /* * 获取到缓存 * 这里是获取的是根目录下 的common/main.php中的缓存类组件 * */ $cache=\Yii::$app ...

  6. fiddler+android抓包工具配置使用

    今天临时增加一个工作,手机需要抓包,查看了不同的抓包工具,最后确定使用fiddler抓包工具进行操作,这里以android为例记录一下工具的配置和使用操作. fiddler的安装 网上有很多fiddl ...

  7. 两年JAVA程序员的面试总结

    前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. ...

  8. mybatis实现延迟加载多对一

    1.数据库表 CREATE TABLE `country` ( `cid` ) NOT NULL AUTO_INCREMENT COMMENT '国家id', `cname` ) COLLATE ut ...

  9. System.ServiceModel.CommunicationException: 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。

  10. tolua++实现lua层调用c++技术分析

    tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lua 进行游戏开发,用 Lua 开发可以专注于游戏逻辑的实现,另外一方面可以实现热更新:而且 lua 是一个 ...