php的一些闲扯

| No Comments | No TrackBacks

上几天javaeye的robbin抱怨rails2.3的性能低下,今天就看见他找到了原因。(详细上下文)

这几年,ROR思想对web开发语言影响颇深,常用web语言基本都出现了ROR的变种,比如python的Django,php的cakephp以及国产的FleaPHP等。Python的运行机制和rails比较相像,但是php作为web开发语言的特例(运行机制特别),很多java/python/rails的设计模式直接套在php上是严重不适用的。这里有robbin一段关于PHP/Ruby/Python的非常精彩的文字,UUSee的diogin在水木的php版也留下了很多经典的php原理的文章(请自动忽略掉他和某些人的版面吵架),不知道他那本《PHP的Web体系结构》什么时候能写完。

cakephp仿ror基本已经仿到家了,除了migration没有做出来,脚手架都有了个bake. cakephp开发很爽,但是他的处理流程很不爽,一如Rasmus Lerdorf在Simple is Hard所说: 如果想开发出有扩展性的Web应用,必须保证架构是Share-nothing Architecture(Like HTTP, each request is distinct / Shared data is pushed down to the data-store layer / Avoid front controllers)。而cakephp这种需要FrontController的框架,我一直觉得很邪恶,每个请求都跑一圈bootstrap, 速度能快么...bootstrap稍微大点就变成了zend framework的效率...可扩展性不说,所有的请求都交给一个php文件来负责,大型应用上肯定是不那么令人放心,曾经的6.cn也只是在个别子站点上实验性的使用zf. java思想的symfony的性能据说更是一塌糊涂。貌似,php本质上不适合太复杂的框架,用Nginx去rewrite多好。

cakephp很流行, Django也很火, 他们都是ror思想的变种,我要不要去看看ror呢...Sun TechDay上Matz这老头除了英文口音不太好之外,还是很迷人的...

btw:刚才javaeye.com宕掉了...

No TrackBacks

TrackBack URL: http://blog.suchasplus.com/mt/mt-tb.cgi/224

Leave a comment