background image

度是极快的,但是一旦使用复杂的 PHP 框架,那么由于需要每次请求的时候初始化整个
框架,性能的下降非常厉害,你用一个很复杂的 PHP 框架的结果就是整体性能被 Ruby
远远甩开。这也是为什么 PHP 社区这么多年来,并不怎么倾向于使用框架的原因之一。

3、由于 PHP 这种每请求初始化资源的机制,也造成了 PHP 添加跨请求的高级特性相当困
难,这是 PHP 本身一个很大的限制,但是反过来说,正是这种限制使得 PHP 始终保持在
一个比较简单的 web 语言上面,而正是这一点才是 PHP 得以成为互联网第一 Web 编程语
言的原因,因此也未必就不好。

总之,PHP 和 Ruby 的差异还是很大的,不适合放在一起比较,其实应该比较的是 Ruby
和 Python 才对。

所以我觉得 Rails 这种框架性做法被 PHP 跟风以后,其实是把 PHP 带上了邪路,所以不
如说是 Rails 在误导 PHP 的发展。顺便多说一句:DHH 在编写 basecamp 之前,一直是用
PHP 的,并且自己还写了一个 PHP 的快速开发框架,他改用 ruby 以后,把当初自己写的
PHP 框架也移植过来了,这个框架实际上是 Rails 最初的原型。那么为什么 DHH 当初不直
接基于 PHP 做 Rails 呢?非要改用 ruby 以后,才发表 rails 呢?你看看 PHP 这种运行机制就
知道了,PHP 做复杂的 web 开发框架并不是一条光明的道路。