对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 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
zen_cart实现支付前生成订单的方法
May 06 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
php中使用websocket详解
Sep 23 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
php-7.3.6 编译安装过程
Feb 11 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
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
JS实现图片切换特效
2019/12/23 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
wxPython框架类和面板类的使用实例
2014/09/28 Python
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
快速创建python 虚拟环境
2020/11/28 Python
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
介绍一些UNIX常用简单命令
2014/11/11 面试题
技术经理的自我评价范文
2013/12/03 职场文书
应聘教师自荐书
2014/06/16 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
研讨会致辞
2015/07/31 职场文书
人民币使用说明书
2019/04/17 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL