欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

冷眼看PHP

程序员文章站 2022-05-22 22:28:05
...

PHP 给人印象最深的莫过于:你不必因为想要用好它就去深入了解这种语言。想一想,在你所知道的语言中有多少能做到这一点呢?其中比较明显的一个就是 java 了,仅编一个 hello world 就需要了解不少的知识,更别提创建一个 web 应用程序了。但对 PHP ,这些都

PHP给人印象最深的莫过于:你不必因为想要用好它就去深入了解这种语言。想一想,在你所知道的语言中有多少能做到这一点呢?其中比较明显的一个就是java了,仅编一个hello world就需要了解不少的知识,更别提创建一个web应用程序了。但对PHP,这些都不在话下。

应该说PHP在访问Bad Behavior时比Perl还是强一点点的。记得在Web刚兴起的那段日子,听到人们常说他们将用Perl创建大型程序,虽然也知道(没有办法说服他们)最终会失败。

另一方面,PHP确实具有创建一些较大程序的能力,比如Drupal。我的朋友Nancy Nicolaisen(也是这里的Blogger)说她想建立一个旅游网站,我建议她看看Drupal。她照做了,并最终选择了它。因为在她看来Drupal的用户社区太优秀了,为她在建立站点并顺利上线提供了大量的帮助。

PHP让菜鸟快速上手并直接去做他们感兴趣的东西,而无须关心那些繁杂的编程理论和实践。你只要去做就可以在网页上得到想要的。

然而这也是这个语言的问题所在。你会发现存在许多完全错误的PHP实现的例子,这一般是都由那些互相copy的人写的,因为没有人知道问题到底是怎样的。我最先用到的例子之一就是PHP的文件锁。结果是找到很多,但没有正确的。事实上,PHP主要用在可以处理所有一致性问题的数据库上面,这样人们就不必考虑一些底层问题了。但是程序语言在与数据库的高层交互和文件系统的底层交互上的处理方式是一样的,所以这里不存在初学者所需的“龙来了”的标志。我感觉社区里有太多“坐享其成”的人,而真正了解并理解基本原理的人却寥寥无几。所以就出现了在无知的状态下闯入了这片少有人问津的领域而进行滥用的情形。

之后,PHP5出现了,其为集C++Java之大成者。它的这个强大特性着实令人振奋,而我的忧虑感却开始加重了:人们看来随便就可以拥有所有特性而不去仔细考虑各个细节和对语言产生的方方面面的影响。相反,在过去的十多年来我关注着Python语言所做的每一个谨慎的抉择。时间会证明,或许PHP社区将会解决如何将所有这些特性都派上用场的问题,但我对此疑虑重重。

与此同时,在我更新缓慢的新站点上我使用了PHP。关键是,我只在很小的范围内用到它。例如,PHP可以解决无法轻易include文件这样以一个低级的HTML问题。PHP做到了,并且也可以很容易地在整个网站上部署我的设计方案。有时你只是想在页面上嵌入一个你做的小东西,这也是PHP所擅长的。

但是,只要目标变得稍微有点复杂,我认为最好还是转到Python上。因此,PHP还是仅限于小范围应用,我不想广泛使用它。