值得学习的PHP
------原文转自PHP100-----
我已经使用PHP很多年了,令我感到奇怪的是一些人总是取笑PHP,在这篇文章中我就先列出他们的说法(PHP不好的部分),然后我再告诉你PHP是如何克服它们的。
1. PHP很慢:OK,你是要写一些科学相关的算法吗?如果是,那PHP确实不合适。但是,我们用PHP是显示网页,正是这个用途使得 PHP在维护和理解网站工作方面是一个很好的选择,你还可以知道什么是软件模式。PHP在很长时间里都可以帮到你,另外,我们知道Facebook是用 PHP实现的,而且Facebook现在用HHVM运行PHP,那样会更快,而且是开源的。所以如果你觉得PHP有些慢,你可以尝试HHVM,在它上面跑 PHP代码会更快。
2. PHP代码不好看:这和说C++丑陋是一样的,因为你在用指针。如果你不知道你想要做什么,也不知道这个语言提供的功能和选择,那所有的事都会变得丑陋。
3. PHP没有好的框架:如果你可以列出10个node.js,Ruby,Python的框架,那就有至少20个PHP框架可以匹敌它们。我会说优秀的PHP程序没有缺点,像Wordpress,Joomla,Drupal(CMS框架),或是Symfony,Yii,QCube,相信我。
4. PHP代码不易维护:我们还要在提Facebook或Yahoo吗?如果你知道如何维护代码,PHP就没有问题,用它去开发吧。
5. PHP是傻瓜用的:那Windows不是这样吗?如果你认为人们不应该使用Windows,因为它太主流了。那你可以把C++当做最好用的网络编程语言了。(这里没有讽刺的意思)
6. PHP只能用于Web开发:是的,这是一个问题,但我认为PHP正是因此而优秀。如果你是一个新手,然后想学习应用程序的开发语言,那就还是选择其他的语言吧,因为PHP只用于Web开发,而且做的那么好。
7. PHP还不成熟:不少人认为PHP不够成熟,他们真的错了。问题在于PHP是一门新的语言,它在短时间内变得很流行,所以,这些话都是 在PHP刚出现,并且还没有发展到现在这样的时候。今天的PHP拥有你在高级Web编程语言或脚本语言中你想要的一切,异常处理,类,接口,闭包,命名空 间,多继承,在PHP中都可以做到。
8. PHP在函数名和参数顺序上不一致:在新版本的PHP上已经没有这个问题了,有很多的框架修正了它,你只要理解基本的PHP,你就可以进一步理解这些框架。开始用Symphony,Yii或QCubed吧。
我们再来看看你应该考虑使用PHP的原因吧!
1. 非常容易上手:如果驴子有手指,它们都可以写PHP。为什么你要用非常复杂的方法做同样的事呢?如果就是要这样,那就开始学Java或C++吧。选择Web开发的话,PHP绝对应该是你的选择。
2. 社区支持:有些人认为PHP是傻瓜开发,并给傻瓜用的。但事实上,有一半的网站都在使用PHP,他们蠢吗?从简单的博客,到复杂的CMS系统,PHP都做得很好。这也就是为什么你在网络上搜索“如何用PHP做一些事情”这样的问题,就能得到很好的文章,它们回答了这些问题。
3. 好的开发文档:如果你认为PHP的开发文档不够好,那你就读读Java或Python的,Ruby的也行,Ruby简单,但它对谁简单呢?PHP是绝对的适合初学者,因为它简单。(达芬奇说过“简单就是终极的复杂”。)
4. PHP具有现代特征:哪些特征呢?我已经列举过一些了。说到客户端,很多HTML5的开发者会用到JavaScript,以后也会用到websocket框架。如果你可以修复一些代码,有些老框架等着你去维护,不行的话,就用Ratchet吧。
5. PHP很安全:哪种语言不是呢?安全问题取决于程序员的使用,而不是语言本身。所有的语言都会有漏洞和缺陷,都会有检查不到的的问题。 如果我是个笨蛋,那我用任何语言写出的代码都是差劲的。每种语言都有弱点,PHP也不例外,但PHP提供给你工具,技巧和API去弥补和修复问题,你应该 去学习如何使用,而不是责备这个语言。
这些就是关于实用性的事情。PHP不是教你理解工作原理的一门语言,但你只想 学习一门Web语言,而不关心太多细节,那PHP就是最适合不过的了。但是,如果你的目标是学习系统的工作原理(操作系统,应该,存储系统等),那你还需 要学习很多其他内容。PHP教不了你这些,你还要学C和C++,这样就很好了,因为PHP用来快速了解Web,C和C++可以帮助你创建操作系统或写个驱 动。
最后,记住你要学的不是C,C++,Java,PHP,Python,Ruby,Haskell或任何语 言,你要学的是“编程”——让机器做你想要它做的事情。如果你的程序可以用Basic来写,并且Basic可以做的很好,那你也可以学Basic。幸运的 是,PHP很强大,它不是傻瓜开发的,要不它早被抛弃了。但是,它今天依然流行,我要再重申一次,简单并不意味着弱小。
编程就像作诗一样。诗歌可以用各种语言来写,韵律和情感远比语法重要,如果你有了韵律和情感,你就可以用任何的语言来写诗。祝你好运。