php,Java和模版引擎的区别

简单1 发布于 2013/11/09 15:00
阅读 938
收藏 0

首先。处理动态网页。

是不是可以看作对html文件的修改过程

cgi就是一种动态网页的输入输出标准。

根据输入的变量数据,然后java  php各自的解释器运行,得到输入数据---通过接口

第二,模版引擎的尤其是非嵌入HTML语言的模板引擎,如Java模板引擎。通过都是一种标记

通常所做的工作都是实际的数据替换这个标记语言。

第三。我们的问题来了。

我们都知道Java和php的区别在于php能够实现嵌入html中 类似Java模板引擎的功能

那php是怎么实现的?为什么不可以HTML嵌入Java? 为什么会有JSP

<h3><?php echo 1212; ?></h3>

php为什么还需要模板引擎?

OSC采用Java+模板引擎

加载中
1
lazyphp
lazyphp

php为什么还需要模板引擎?

其实我一直对模板引擎持反对的态度。本身PHP就是一种解释型语言。通过框架又封装了一次新语句。框架运行时还是编译成PHP语句。

为什么要用模板引擎了。因为早期PHP是和HTML混编,代码看起来乱七八糟的。特别是那时候没有什么MVC概念。如果楼主你接触过一些早期的代码,你就发现各种SQL语句,混在HTML里面。改着就蛋疼。

于是乎,聪明而勤劳的农民就想到了一种牛逼想法,将PHP和HTML分开。就是模板引擎了。利用新的模板标签,把原本又臭又长的<?php echo $a; ?> 什么什么浓缩成一句{$a}。

其实我觉得这样的做法是多余的。就像刚才开头说的。这并没有彻底的解决前后端分离。到头来还得靠PHPer去套前端切好的图。

至于java的话,我只学过一点JSP。都忘了所以就不发表评论了。

以上纯粹个人见解,能力有限可能有错误的地方。


0
五杀联盟
五杀联盟
jsp el表达式 jstl
0
alex_001
alex_001
我会一点点java,一直用php,真心觉得还是不要混编比较好,代码改起来很不方便,想更新或者重用的话会很累
0
铂金小狗
铂金小狗
JAVAER比PHPER高贵.所以,JAVA不嵌套HTML
自由PHP
自由PHP
高端黑
0
南湖船老大
南湖船老大

引用来自“铂金小狗”的答案

JAVAER比PHPER高贵.所以,JAVA不嵌套HTML

楼上的喷子PHPer你好,没必要如此酸溜溜地黑我Java,给自己留点自信。否则,懂PHP的Java程序员会让你很没面子的。

JAVA里的JSP也属于一种模板引擎,freemarker,Httl等都是模板引擎。至于和JSP配套的JSTL,EL表达式可以看做是对JSP模板引擎的增强。早期的PHP和Java网站基本都一个德行,PHP里嵌套HTML代码,SQL语句;JSP里嵌套HTML代码,SQL语句。后来Java开发的网站逐渐使用servlet和JavaBean来减少JSP里的混编直到MVC的流行,PHP也开始用smarty,MVC框架了。

我2011年的时候之前曾经花了一个月,把一个2001年开发的纯JSP做的网站改版为servlet+JavaBean+JSP了,深刻体会到混编维护的痛苦。这个网站连数据库连接都是写在JSP代码里的。而PHP混编的网站我也同样动手改过。

和PHP对应的应该是Java里的servlet,而JSP对应的是PHP里的smarty之流。

虽然如今的PHP网站都喊着要扔掉smarty,但我觉得模板引擎还是有一定价值的。尤其是模板引擎里引入module和函数后,代码大大简洁了,牺牲的性能也微乎其微。使用模板引擎也有缺点,就是debug困难。而且模板引擎编译的文件是平铺的,里面语法视觉上也很丑陋。因此对于现代的PHP开发而言,要不要模板引擎都不是大事。

而且,JS的流行和富客户端、AJAX技术使得服务器端模板引擎变得不那么重要了,什么后台语言都无所谓了。

当然,PHP自身就是很好的模板引擎。在PHP和Java合作的开发中,PHP就是最好的Java模板引擎。比如淘宝就在后端用Java,前段用PHP做。比如人人,比如resin服务器。

猎户座
猎户座
默默读完,发现语言之争都是闲着蛋疼的表现。好好的研究业务或者专研某种方向的技术。比专研这种语言和另一种语言的性能与编码方式的舍去更好的多。。个人愚见
0
Tuesday
Tuesday
magento就是php html, js混写的,  看得想死的心都有...
lazyphp
lazyphp
magento还算可以。这玩意第一次接触的确想死的心都有。但接触多,自然了解整体架构,后面做起来也没第一次那样苦逼了。
简单1
简单1
直接使用php当模版引擎就好了。你可以看下CI框架
Tuesday
Tuesday
回复 @魔术师 : 所以现在我强烈要求推广模板引擎...
简单1
简单1
就是。看他们的代码真是想死的心
0
inuxor
inuxor
模板引擎据说是给不懂程序的人预备的,然而事实上不懂程序的人也不懂模板引擎。最后还是程序员去完成套模板的工作,放屁之前多了一道脱裤子的手续
0
月影又无痕
月影又无痕
使用smarty之类,绝不是君子所为---只能是小白中的战斗机。
返回顶部
顶部