PHP代码,是服务器端语言,需要靠服务器端程序来执行。
HTML,是客户端语言,靠浏览器执行。
1、混写
PHP初期,要想把PHP程序的执行情况展示在页面上,是把html代码肢解后混在PHP程序里的。浏览器请求一个php文件,服务器端执行后得到结果。当时的ASP/JSP也是一样的。
2、Smarty
随着PHP这类脚本语言的流行,大家发现这样混着写太麻烦了,就在想能否把程序逻辑和页面展现进行分离?随着PHP对OOP的支持,Smarty横空出世了。PHP程序写完逻辑得到结果后,加载Smarty类,Smarty让该PHP程序实现了2点:需要向模板输出些什么变量?需要向哪个模板输出变量?
3、模板
终于,在Smarty的加持下,负责面相浏览者的html部分,可以单独写在一个文件内。如果要展现php的变量数据呢,只需要约定的标签即可。比如输出标题{$title},循环<volist>{$vo.name}</volist>等。
终于,负责逻辑的PHP程序与负责面向用户的html,分开了,虽然它们之间还有点点牵连。。
例子参见著名的Discuz以及织梦CMS等。
4、MVC
MVC都是在以上基础之上的进一步演化与发展,它是将数据层又独立出去,要说更科学,也没毛病。
但MVC全套始终还是在服务器端完成的,并非严格意义上的前后端分离。
【 在 huaxinjuedui 的大作中提到: 】
: 这块内容很明显他还是个小白,很难理解这类概括性的描述。。
: 要跟他说清楚,估计得把MVC发展史以及VUE这类框架发展史说一遍才行。。
:
--
FROM 125.84.28.*