对PHP语言认识上需要避免的10大误区


Posted in PHP onJune 12, 2014

PHP是一种非常流行的开源服务器端脚本语言,你在万维网看到的大多数网站都是使用php开发的。但是,你大概很奇怪的注意到有少部分的人发誓要离php远远的。但是令人更奇怪的是或者很震惊的说他们不用php并不是因为一些被证实的语言缺点。他们决定不用php,是因为误解。
是的,你读到的那些是误解。
让我们看看这些误解是:

1. PHP是一种面向对象语言,但面向对象并不彻底

这完全不对。所有认为php不是彻底面向对象的程序员,尤其是Java程序员,都需要上一个PHP的基础培训;他们会发现PHP中大量面向对象的特性。例如:接口、方法、抽象类等等。我同意早期的PHP版本确实不支持太多面向对象的特性,但PHP5已经有强大的面向对象支持。而且,你一定想不到编码在PHP中会变得如此简单,那是因为PHP和面向对象结合的原因。
所以,消除这个误解吧。

2.PHP无法实现特定功能

我很清楚这种表述很含糊,但是我不能想出任何更好的说法。这是一个很含糊的误解,开发人员认为PHP不能帮助他们实现一些诸如内存访问的功能或者一些PHP主要发行版没有提供支持的功能。但事实是PHP是一种可扩展的语言,所以你需要做的是用C或者C++编码,然后创建对应的扩展。
其实,你根本不需要自己动手去创建扩展,因为这里已经有数以百计的可用扩展。你唯一需要做的就是去寻找它们。

3.PHP 是不安全的

开发者对PHP的另外一个误解就是PHP网站和应用是不安全的。但是,为什么你会希望它在默认情况下是安全,为什么不编写安全的代码? 我知道这里一直存在很多不安全的PHP代码,因为最初的学习曲线是简单的而且很容易上手。所以,作为一个开发者,你需要使它尽可能的安全。
.Net可以帮助你在默认情况下是安全的,相比之下PHP确实缺少很多。但是如果你是一个训练有素的程序员,那么你其实不要默认情况的安全帮助。Include通常是安全的,但是你需要要小心。如果它们的路径是动态生成的,对指令的透彻理解可以帮助你让代码更安全。

4. 它不能适应大型应用

大型复杂应用需要建立在自身可靠和高性能的语言之上,这是PHP在一定程度上所没有的。但是,如果你设计和开发的应用程序架构稳定,为什么你会对它的性能和可扩展性有疑问呢?
事实上一些顶尖网站,如Facebook、维基百科和雅虎等等,都是基于PHP构建的,就像我们所想的那样,这些巨型网站都工作的很好。

5. PHP只能用于网站开发

这也是一个误解,尽管看起来它有点合乎逻辑,因为PHP是网站开发中最常见的语言。但也有一些被称为命令行界面的东西,这可以确保你的PHP应用程序可以在Web服务器之外运行。
你可能不相信,但即使是那些很大程度上取决于CPU能力的应用程序,也可以用PHP开发的,使用PHP CLI来运行。
更重要的是,如果你想使用PHP开发桌面应用程序,不用担心,使用Windows特定扩展你可以做到这一点。

6.开发过程慢

这是一直广为流传的误解。我不知道起源于何处?这个流言可能来自于曾经一个时期php代码很乱并且代码中四处充斥着Mysql语句(他们以此为反例,但是实际上我们都不这样用)。问题是为什么这样开发过程就慢了?当大量的php框架出现时,可以大大的加速开发的过程。毋庸置疑,你可以在短时间内开发出很大的程序,不论它有多么的复杂。所以,你用php开发一点都不慢,特别是当你使用php框架的时候。

7.专业开发人员不使用PHP

PHP是针对初学者的,它是为那些不是认认真真做开发的人设计的。这些说法都和PHP的使用有关。这只是一种误解,认同它没有任何意义。这里有如此多的网络应用,包括一些大型的,都是使用PHP构建的。可以想象这些说法是多么不正确。

8. 性能问题

这是一个棘手问题。这不是一个误解。和硬币有两个面一样,这个问题也是两方面的。事实上到处充斥着垃圾代码,隐式转换、不适用的模块、缺少操作符重载等等都能影响一个php应用的性能。但是这个依赖于你是不是有足够的能力去用好这个语言,用它编写稳定地、快速地应用。
性能是由你设计的架构和你写的代码来决定的!

9. 便宜没好货

这条貌似在逻辑上很站得住脚,但是用到php上那就是完全是误解了!事实上,php的最大优势就是他的免费和开源,这意味着大多数提供应用开发服务的开发者必须都精通它。虽然免费开源会带来一定问题,但是这也为了使用他们服务的客户提供成本优势。与商业开发语言相比较,php的开发成本比价低,但是这并非 意味着它的质量值得怀疑。和正确的开发者一起工作,可以获得更高性能的php应用。

10. PHP言过其实

真是这样么?你随口瞎说的吧。我不认为这样,还有很多的开发者也都不这样认为。

结束语

这不是所有php谎言的终结者。随着php语言不断的发展,变得越来与强大,误解也会跟着增长的。但请不要被他们忽悠了。多读,多问,自己动动手,然后你就知道,是不是真的了。

PHP 相关文章推荐
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
php学习笔记之面向对象
Nov 08 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
php实现Mysql简易操作类
Oct 11 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 #PHP
PHP微框架Dispatch简介
Jun 12 #PHP
PHP资源管理框架Assetic简介
Jun 12 #PHP
探寻PHP脚本不报错的原因
Jun 12 #PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 #PHP
PHP小教程之实现双向链表
Jun 12 #PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 #PHP
You might like
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python模块搜索路径代码详解
2018/01/29 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
浅析python的优势和不足之处
2018/11/20 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
简述python Scrapy框架
2020/08/17 Python
基于Python实现粒子滤波效果
2020/12/01 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
毕业自荐信
2013/12/16 职场文书
经销商订货会主持词
2014/03/27 职场文书
初中学校对照检查材料
2014/08/19 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
健康教育主题班会
2015/08/14 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python