我的前后分离,不是api,不是ajax,我这里只讨论html与后端结合

前话

曾经风靡一时的dedecms相信做网站的十有八、九都知道,还有那么一些不是技术出生的人,通过看一下文档,也能访问出网站出来,有的人说dedecms太垃圾了,不知道是从哪些方面来说的,但不得不承认它的优势,又有哪个框架免费给你用,还这么方便的呢

话说回来,dedecms的一大好处就是会模板标签,差不多就会慢慢的做套网页了,真的就是这么简单

phper技术到底如何

之前我面试过一些人,当然我不会拿网上一些现成的试题,或感觉对工作没有实际意义的题去考面试者的

自称一到两年工作经验,当然也有3年左右的人(具体没法核实),问他们一些简单的问题他们都不能回答上来,真是不变码农(我这里指只知道码大量代码,而不管代码效率)也难呀

话说我的面试问题很简单(当然我只针对网页),用户了这么多的框架(yii、tp、larval、ecshop、dedecms、wp),不管哪一种,如果直接在网页上拉取数据库的数据?

已经没有几个人把原生php研究好再进行框架开发的,他们却不知道“直接在页面连接数据库,查询显示”,而是说我从来没有这么做过呀,从来都是从控制器读取数据赋值后,在模块里面取

真的就只能这样么,这里不得不说MVC真的很根深蒂固呀,有人说能实现功能就可以了,管它什么的呢,这样说你也对

引出问题

模板赋值,渲染,显示,这样的方式真的好么?

哪天我模板改了,删除了一些数据,那控制器你要动么,不动是不是有垃圾数据了?

现在模板的数据是不是完全受制于控制器,耦合度太高,谁都离不开谁?

.....

太多的疑问了,当然你未曾想过,我们做码农,不要只是你的工作年限比别人高,而技术没长进,当然你说我只为混口饭吃,那也罢。

怎么去实现(个人观点)

用过dedecms的人都知道,直接在html用模板标签去取数据不就得了,没错,但在tp、yii、larval这些框架里面你们又会怎么做呢?标签?

第一想到的就是标签,是的,这是最直接的办法,也是dedecms所采用的方法,第是一种方式,这种你要么会设计大量的标签,要么设计比较复杂灵活的标签

我这里肯定不是说就用上面那个方法,不然我也不用写这么多了,下面问题的引出

现在很多项目基本都要求有app、mobile、pc一起开发,你如果pc用标签倒是可以,那app呢,单独再弄一个接口去实现???? 写着写着你会发现,很多数据重复的在写,垃圾代码越来越多

那这里面最主要的东西是什么呢? 对,逻辑,每个端都会写大量的逻辑代码,如果几个端能达到逻辑共用,又能实现上面的模板直接摘取数据多好呀

当然可以呀,就是从模板(html)直接去逻辑(model)拉去数据就可以搞定了,tpframe就是这么做的,它灵活的实现了这个功能,如下方便都可以

1、正常赋值

2、标签去取

3、直接去逻辑摘取

最后

如果一个项目在开发的过程中,每个端主要的东西都共用,而不用去每个端写一套,这不就可以给你们项目节约很多的时间各成本 了么

以后如果要改动,维护,如果是每个端一套,那你每个端都要去改,如果共用逻辑,只须要改逻辑部分就可以

以后项目升级的时候,你也只须要写少量的代码,每个端的功能也便实现了

同时后端只须要把文档写好,前端就可以搞定数据拉取,两边都不耽误,这便是我说的前后端分离

欢迎大家留言讨论,小的读过两年书,望高手赐教~

教你如何前后端完全分离(非api、ajax)的更多相关文章

  1. 基于Spring Boot架构的前后端完全分离项目API路径问题

    最近的一个项目采用前后端完全分离的架构,前端组件:vue + vue-router + vuex + element-ui + axios,后端组件:Spring Boot + MyBatis.之所以 ...

  2. dotnet core webapi +vue 搭建前后端完全分离web架构

    架构 服务端采用 dotnet core  webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...

  3. dotnet core webapi +vue 搭建前后端完全分离web架构(一)

    架构 服务端采用 dotnet core  webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...

  4. 前后端完全分离开发模式Tomcat跨域问题处理

    公司新项目实现方案采用前后端完全分离架构,后端采用spring boot框架,前端纯HTML5开发部署会采用同一台服务器,但是在实现过程中分工开发出现ajax请求跨域问题故为解决开发问题发现如下解决方 ...

  5. 前后端分离后台api接口框架探索

    前言 很久没写文章了,今天有时间,把自己一直以来想说的,写出来,算是一种总结吧!  这篇文章主要说前后端分离模式下(也包括app开发),自己对后台框架和与前端交互的一些理解和看法.     前后端分离 ...

  6. 前后端分离后API交互如何保证数据安全性

    前后端分离后API交互如何保证数据安全性? 一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC ...

  7. 如何处理好前后端分离的 API 问题(转载自知乎)

    9 个月前 API 都搞不好,还怎么当程序员?如果 API 设计只是后台的活,为什么还需要前端工程师. 作为一个程序员,我讨厌那些没有文档的库.我们就好像在操纵一个黑盒一样,预期不了它的正常行为是什么 ...

  8. 前后端分离&接口API设计学习报告

    接口API设计学习报告 15331023 陈康怡 什么是API? API即Application Programming Interface.API是一种通道,负责一个程序与另一个程序的沟通.而对于w ...

  9. 前后端分离后API交互如何保证数据安全性?

    一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了 ...

随机推荐

  1. SSE推送数据

    SSE(Server-Sent Event,服务端推送事件)是一种允许服务端向客户端推送新数据的HTML5技术.与由客户端每隔几秒从服务端轮询拉取新数据相比,这是一种更优的解决方案. WebSocke ...

  2. c# try-finally有什么用

     finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的.finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的.final ...

  3. linux RHCS集群 高可用web服务器

    RHCS集群,高可用服务器 高可用 红帽集群套件,提供高可用性,高可靠性,负载均衡,快速的从一个节点切换到另一个节点(最多16个节点)负载均衡 通过lvs提供负载均衡,lvs将负载通过负载分配策略,将 ...

  4. Struts 有哪些常用标签库

    Struts 有哪些常用标签库 1.html标签库 2.bean标签库 3.logic标签库

  5. java.lang.NoClassDefFoundError: org/apache/jsp/jsp/Container_jsp

    1.错误描述 八月 20, 2014 7:10:18 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.servi ...

  6. Coins HDU - 2844

    Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day Hibix opened p ...

  7. iOS - Bluetooth 蓝牙

    1.蓝牙介绍 具体讲解见 蓝牙 技术信息 蓝牙协议栈 2.iBeacon 具体讲解见 Beacon iBeacon 是苹果公司 2013 年 9 月发布的移动设备用 OS(iOS7)上配备的新功能.其 ...

  8. 拥抱.NET Core系列:MemoryCache 缓存域

    在上一篇“<拥抱.NET Core系列:MemoryCache 缓存选项>”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MSCache 中的缓存域. MSCache项目 M ...

  9. pycharm short-cut

    Ctrl + the left mouse button Ctrl + Alt + Left/Right if invalid, system setting

  10. 【CF932G】Palindrome Partition(回文树,动态规划)

    [CF932G]Palindrome Partition(回文树,动态规划) 题面 CF 翻译: 给定一个串,把串分为偶数段 假设分为了\(s1,s2,s3....sk\) 求,满足\(s_1=s_k ...