PHP China | 中国开源之路 's Archiver

PHPChina 发表于 2005-12-3 22:32

PHP模版在PHPer思路的发展方面会不会有局限性?如果有,有哪些?

很多PHPer说,长期使用PHP模版容易束缚自己的思想。你认为呢?
如果真是如此,那么什么时候不再使用模版呢?

seraph 发表于 2005-12-3 23:54

我还是重复以前的观点,用不用模板就跟用什么开发语言、什么技术一样,是要按项目需求来定的,一个中型以上的、WEB形式、对外公开发布的、对界面要求比较高的项目来说,用模板技术来实现,这是很合理的事情。

当然,并不是所有PHP应用都必需要要用到模板,有的人会从类JAVA的着眼点来看模板技术,认为其并不重要,但是必须看到JAVA作为一个通用语言平台来说,它的着力点很广泛,WEB开发只是其一小部分,而且只是面向显示部分的处理。其后台逻辑等的处理就完全不需要考虑显示问题,同时JAVA的开发也已经拥有了若干个比较成熟的IDE来提供给开发者。

我上面这么说,并不意味着PHP因为没有以上JAVA的优点而不可用。正相反的,PHP在其最善长的部分WEB开发,快速开发的领域正发挥其决定性的作用。我们应该注意到,为什么越为越多的网站会选择PHP、PY、RUBY、ASP这样的脚本化语言,脚本化语言的固有缺点难道开发者们都看不到的吗?不会,在看到这些缺点的同时,恰恰脚本化语言的易学易用、结构简单、调整方便、项目实施低成本、硬件需求低的优点,更受到项目开发者的重视与需要。今天以来,我所看到的大部分新兴的网站,除了一些技术思路的实现比较特别的以外,近半的都是以PHP为主的脚本化语言开发,看看这些网站所展现的内容与思路,完全可以预算出,如果以JAVA、CGI等来开发的话,项目成本至少要高一倍以上,项目实施时间也可能要大大加长,而这些,对于一个新兴的网站项目来说,可能会是致命的原因。

总结下我个人的观点,至少在目前PHP4/5的时代,PHPer的着眼点应该放在中型以上的B/S项目,企业级的应用项目,PHP也能够很好的完成控制流程结果的输出与显示。至于后端的商业逻辑、数据平台、XXOO技术等等,我个人目前会关注,但不会放主要的精力在上面。术业有专攻,就好象服务器有网管,数据库有DBA,界面设计有美工一样,各人都有能发挥自已所长之处,没有必要强求面面俱到的。

希望PHPer能够准确的找到自已的职业/专业定位,并能不断的提升自已,并也以此而自勉。

leeyupeng 发表于 2005-12-4 11:59

呵呵,怎么会束缚思想呢?

我觉得用模板反而会更放开思想,毕竟页面表现基本可以不用去关心,可以更多的去考虑逻辑的架构。

liumingl 发表于 2005-12-4 12:01

最近一直在看IPB的程序,在感觉到它程序本身功能的强大以外,就是它的模板实现给了我很深的印象。

IPB程序有2套模板,一套是存储在数据库中,还有一套是在cache中,如果管理员不使用安全模式的话则使用cache中的文件“模板”,否则直接从数据库中读取“模板”。

为什么给“模板”加引号呢?因为cache文件里面不是真正的模板,而是类。比如说显示论坛分类的模板、显示讨论区的模板、显示用户状态的模板等等。都是类中的一个个方法。最后再“拼接”起来就OK了。

我感觉这种方法比较灵活,可以随心所欲的安排各个部分的位置。但是一般这样的模板在视觉上受限制很大,因此你可能发现基于IPB的程序很少有很漂亮的界面。

夕日 发表于 2005-12-4 12:34

束缚思想?
我倒是觉得是解放了思想
呵呵,毕竟界面的事情不用去考虑了

徐风 发表于 2005-12-4 13:42

使用模板就像使用面向对象一样,主要是一种设计思想的应用。
一般来说使用模板或类都会损失那么一点效率,但是在设计和维护上就规范灵活多了。

所以这种东西基本上就是根据不同的需求寻找一个最合适的平衡点。

xlmo 发表于 2005-12-4 13:46

有人说MFC束缚了程序员的思想;我想如果MFC是开源的话,可能就不会有人这样说了,因为你可以将你的思想融入MFC中,成为你的MFC.
对于模板,我想也是一样的道理吧.

[[i] 本帖最后由 xlmo 于 2005-12-9 19:47 编辑 [/i]]

Ben 发表于 2005-12-4 13:48

如果先入为主认为模板就是Smarty、PHPLib这样,那的确会有一定的限制作用。但如果再深入想一想为什么会有模板出现,模板到底是为了实现什么目的而存在的,使用模板究竟意味着什么,模板在真个程序或更高层次上处于什么地位,模板的本质是什么?能想到这些,那就说明你已经彻底摆脱模板的限制了。

seraph 发表于 2005-12-4 14:11

见山是山,见水是水--初步认识到模板的好处,应用得很顺手,只要开发,就想要用到模板

见山不是山,见水不是水--接触到一些对效率要求很高,同时在线人员多,非数据密集型,界面要求低,因此而发现单纯使用模板的缺点。

见山还是山,见水还是水--模板概念既然存在,就必然有其存在的合理性,在其合适的环境下,使用之,如鱼得水,在其不合适的环境内,放弃之,或有条件有限度的灵活使用,或对模板作出进一步的适用性改进,方才是对模板的正确认识。

MySQL 发表于 2005-12-4 15:05

楼上说的有道理.许多项目都有具体的环境限制.初学者必须全面认识模板才能发挥它的作用.

jejwe 发表于 2005-12-4 15:21

根据需要求吧,我觉得如果美工也是我做的话,可以用,因为要教会美工在做页面时加哪些东西,他们也不想学,郁闷。

seraph 发表于 2005-12-4 15:23

[quote]原帖由 [i]jejwe[/i] 于 2005-12-4 15:21 发表
根据需要求吧,我觉得如果美工也是我做的话,可以用,因为要教会美工在做页面时加哪些东西,他们也不想学,郁闷。 [/quote]

所以在我的应用环境里,用PHPLIB所需要处理的模板文件都非常简单,有HTML基础的人都可以修改。Smarty就不合适。

mzt 发表于 2005-12-4 22:51

我认为没有束缚,PHPer重点应该在架构设计和功能实现上

ysixin 发表于 2005-12-5 10:07

特别是对一些实时性要求高的项目,用模板几乎不可能
当然,还是那句话,根据实际需求,对于初学者,只要明白模板是什么就可以,
不要刻意强求模板的使用

leslee 发表于 2005-12-5 15:22

[quote]原帖由 [i]jejwe[/i] 于 2005-12-4 15:21 发表
根据需要求吧,我觉得如果美工也是我做的话,可以用,因为要教会美工在做页面时加哪些东西,他们也不想学,郁闷。 [/quote]

一般我们都是由设计给出图,美工按图做出HTML,然后再由PHP程序员修改..

毕竟,HTML部分也算是编程,工作本也应该由程序员做,如果美工想学,我会教他,不想学我也不会强求他,要求他一样要那么做,或者怎么怎么样,我只需要他们把设计人员的图给切好,达到网页制作的要求就可以..

比如网页的大小不能超过多少kb,css的处理,图片的大小以及要求他们测试网页打开的速度.

其他的包括JS,HTML代码的优化,都是由程序员来完成.

可能大家中有人会不屑 ,不过我还是觉得这个模式挺好的..

垃圾代码少,和美工的沟通以及双方的责任明确.

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.