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

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语言不断的发展,变得越来与强大,误解也会跟着增长的。但请不要被他们忽悠了。多读,多问,自己动动手,然后你就知道,是不是真的了。

时间: 2024-11-05 18:58:58

对PHP语言认识上需要避免的10大误区_php文摘的相关文章

史上最牛的10大计算机病毒

自从病毒诞生起,病毒就成为我们电脑生活中的一个不得不提的部分,那么将来会不会有那么一天病毒会消失呢?也许这是一个已经知道答案的问题,或者是这个问题永远没有答案也说不定,期待那一天吧,今天给大家献上史上最牛的10大计算机病毒,你是否曾经遇见过呢?     1. CIH(1998年)感染Win95/98中的可行性文件,这种病毒在Windows环境下传播,其实时性和隐蔽性都特别强,变种可以重写BIOS.大约在世界范围内造成了两千万到八千万美元的损失.     2. 梅利莎(Melissa,1999年)

PHP语言需要避免的10大误区

PHP是一种非常流行的开源服务器端脚本语言,你在万维网看到的大多数网站都是使用php开发的.但是,你大概很奇怪的注意到有少部分的人发誓要离php远远的.但是令人更奇怪的是或者很震惊的说他们不用php是因为一些被证实的语言缺点.他们决定不用php,是因为误解. 是的,你读到的那些是误解. 让我们看看这些误解是: 1. PHP是一种面向对象语言,但面向对象并不彻底 这完全不对.所有认为php不是彻底面向对象的程序员,尤其是Java程序员,都需要上一个PHP的基础培训:他们会发现PHP中大量面向对象的

对网站分析认识上的10个误区(下)

本文分析了当下网站分析中的十大误区,共分两篇来概述,以下是后五种误区,上篇请查看此处 误区六:Bounce Rate越高,页面质量越糟 一般大家都会认为Bounce Rate(蹦失率)是用来衡量页面质量的.一般而言,这是正确的,但却不能说bounce rate高高在上就一定是页面质量糟糕造成的. 首先,bounce rate并不只由页面质量决定,同样也受到流量质量的影响.举个极端的例子,如果你的页面文案做的极具诱惑,但是访问者却全部都是不懂汉语的,你的landing page仍然会有很高的bou

acm-c语言 ACM上的现实超时了应该怎么改

问题描述 c语言 ACM上的现实超时了应该怎么改 #include ""stdio.h""#include ""conio.h"" int main() { int daymonthyearsumleap; while(scanf(""%d %d %d""&year&month&day)!=EOF) { switch(month)//先计算某月以前月份的天数 {

c语言编程-这段C程序设计语言书上的代码,运行后按回车只换行并没有输出最长的行,为什么

问题描述 这段C程序设计语言书上的代码,运行后按回车只换行并没有输出最长的行,为什么 #include#define MAXLINE 1000int getline(char line[]int maxline);void copy(char to[]char from[]);main(){int len;int max;char line[MAXLINE];char longest[MAXLINE];max = 0;while ((len = getline(lineMAXLINE))>0)i

如何使用c语言连接上linux的wifi

问题描述 如何使用c语言连接上linux的wifi 已经知道wifi的ssid/密码/加密方式wpa2加密,怎么使用c语言修改文件连接上wifi. 或者能使用shell命令连接上wpa2加密的wifi也行.急急急!求大神! 解决方案 linux 使用c语言连接mysql数据Linux 下 C语言连接MYSQL数据库Linux C语言内联汇编使用 解决方案二: 那个wifi不就是网络吗,它和你的电脑用的好像没有区别吧. 应该就是网络编程那块了,你去c语言里找这块的API啊 解决方案三: http:

新手怎么思考c语言书上的例子

问题描述 新手怎么思考c语言书上的例子 c语言新手一枚,自学中,现在很不熟练. 面对书上稍微复杂一点的例子, 脑子里就一团浆糊.所以昨天开始就试着在敲例子前画程序流程图.然后再敲,请问这种方法是对的吗?如果不是或者有什么要补充的麻烦给我讲一下,谢谢啦! 解决方案 最好找一个懂程序的人教你下.看下人家是怎么写程序的. 我见过一些初学者遇到的困难,是因为他们完全是根据书本上写好的程序在模仿.但是这有一个问题,就是看不到程序从无到有的过程. 好比根据烧好的菜去研究烹饪或者根据画好的画去学习素描,这都是

C语言 HTTP上传文件-利用libcurl库上传文件

原文  http://justwinit.cn/post/7626/ 通常情况下,一般很少使用C语言来直接上传文件,但是遇到使用C语言编程实现文件上传时,该怎么做呢? 借助开源的libcurl库,我们可以容易地实现这个功能.Libcurl是一个免费易用的客户端URL传输库,主要功能是用不同的协议连接和沟通不同的服务器,libcurl当前支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP,IMAPS, LDAP, LDAPS, POP3, POP3

Duolingo在语言学习上的最大创新无疑是它以游戏化练习的方式

Duolingo在语言学习上的最大创新无疑是它以游戏化练习(翻译)的方式,让学习者在不知不觉中对单词.词组.句子.语法有了记忆.但Duolingo至今都没有进入汉语言学习领域,而是侧重提供拉丁语系语种(即看着文字便知道如何发音的语种)的教学,这也让第一批入驻我们氪空间(申请地址)的ChineseSkill团队看到了机会. 简单来说,ChineseSkill(iOS)就是一款将Duolingo的教学机制用于中文教学的产品,它改变的是传统汉语言学习太过繁重的过程--传统的汉语学习是精英学习,以习字.