首页 > PHP资讯 > 欣才热点新闻 > php语言在企业应用方面遭遇的七大误区

php语言在企业应用方面遭遇的七大误区

欣才热点新闻
语言多元化是编程文化中一个重要的组成部分。在C++和Java长期流行的同时,更多的团队选择了JavaScript和PHP。同时,2014年被讨论最多的两种编程语言正是JavaScript和PHP。请点击《2014年讨论最多的编程语言》查看详情。
 
 
误区1: PHP是一门新语言
 
伴随着所有的初创公司正在使用它以及很多人最近也在学习它的事实,有这个误区是可以理解的。实际上PHP已经超过20岁了, 它最初发布于1994年, 仅在HTTP协议诞生后的第3年(http的出现使普通人可以浏览互联网,之前互联网只属于少部分专业人士通过复杂的指令和路径访问互联网上的资源。),php早于Java,(Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序)。理论上讲,用于动态网页制作,php比任何语言都早,java的分支jsp用于web开发从某种程度上讲,是受益于PHP的。
 
误区2: PHP需要编译
 
不像C++一样需要一个独立的编译器工具链,也不想java那样所有的操作都需要一个java虚拟机。实际上不安装apache之类的解析软件,php是可以正常运行的。解析器的作用只是推送php的运行结果而已。一条在互联网公司以及其它地方的通用原则就是,(应用的)安全性不能依赖于代码的已编译状态。更为重要的是加强运行时环境的安全,因为实质上每种语言都有一个解码器,或者能被拦截并导出受保护的状态。参考下一条误区来了解更多的PHP安全性问题。
 
 
误区3: PHP不安全
 
轻量级PHP的亲和力可能使他看起来不怎么安全,但是这里很大程度上是受到了直觉的误导。 安全的一个核心原则就是尽可能让呈现的目标更小,大系统是违背安全原则的,因为他们趋向于使行为过渡集中化, 并且也让开发者很难理解。 PHP通过倡导简洁化来边缘化这些恶心的问题,更有甚者, PHP通过让自己成为一个简单、稳定并且易于审核的机制来使这些问题得到解决。事实上,近期 Coverity Software 的一个分析结果显示PHP得到了他们的最高质量评级。一向被认为安全的java,确是颜面扫地。请多请查看《java真的安全吗》。
PHP还拥有一系列可扩展、开源的、产业标准化的安全库,把安全和授信看做是重中之重, 我们发现hashlib, PyCrypto, 以及 OpenSSL, 通过OpenSSL和我们自己的定制构建的结合,涵盖了大部分互联网应用的多样化的安全和性能需求.
 
这些诸多的原因,使得PHP成为互联网的应用程序和安全团队在某些业务中最好的选择。有把PHP用在支付的安全第一环境中的例子不在少数。
 
白宫的网站对安全性应该算很高吧,白宫的网站是纯PHP的。使用的框架也是有名的Drupal。Drupal也是基于PHP开发的。
 
国内使用最多的独立商城系统ecshop,电子商城一般对安全性能要求都是很高的,值得自豪的是ecshop也是基于PHP开发的。
 
 
误区4: PHP是一门脚本语言,不够强大
 
PHP确实是脚本语言,并且因其简单的语法、跨平台并且无所不在于 Linux, Macs, 和其它Unix 机器而成为这个领域的领跑者,
事实上, PHP可能是常规用途编程语言中最灵活的技术,很多初学者完全不了解PHP的强大。PHP的扩展库异常强大,facebook和weibo都在大量使用,使用扩展库可以很好的解决一些棘手的问题。为问题定制解决方法。
 
网站和web服务,应该说没有PHP搞不定的, 事实上,PHP不仅能实现我们所需要的web功能,而且完成的很快,最重要的是完成的很好。
 
 
误区5: PHP速度慢
 
首先是有一个重要区别: PHP是一门编程语言,而不是运行时环境,每一个程序运行时都有其自己的性能特点. 这里更重要的地方在于不能错误地把一个性能指标分派到一门编程语言. 应该把该评估用在一个应用程序运行时,最好是针对一个特定的使用场景.
 
清楚了那些事项之后,下面看一些例子:
php的yaf框架几乎能达到和C一样的性能
facebook能同时服务5亿用户。
诚然,这些都不是最新的列子,只是我个人的最爱罢了。这将很容易扯到高性能PHP以及独立提供的运行环境这些广阔的领域。我们不应只是专注于解决单个特殊的案例, 而是应该把注意力放在对开发人员在最终产品性能方面的生产力的普遍影响上面, 特别是在一种企业级环境之下.
 
给定足够的时间,一个循规蹈矩的开发者只会按照下面这种经过论证的方式来编写精确高效的软件:
设计实现一个可以正确完成任务的软件,包括开发单独的测试
测试性能,明确瓶颈
优化,根据测试和Amdahl法则,并且利用PHP与C的渊源
虽然这听起来很简单,但是即使是老道的工程师,这依旧是一个非常耗时的过程。PHP设计之初就考虑到了这一套开发流程。根据我们的经验,通常C++和Java项目完成一次迭代流程的时间,够PHP项目完成三次迭代流程。今天,PHP使用更少的代码战胜了同类C++和Java项目,这多亏了快速的开发使得开发成本得以可控,这对编程语言的发展尤为重要。
 
 
误区6: PHP无法做到大规模
 
大规模有许多定义,但无论怎样,facebook和新浪微博是属于大规模网站。每天UV超过十亿,所有这一切都以PHP作为核心技术。taobao,baidu, sina, 163, qq,cms, crm, erp , TP都有PHP大规模的例子,这些证明大规模不仅仅是可能,它是一种模式。
成功的关键是简单性且一致性。人们很难发现 PHP程序员关心垃圾的收集暂停或应用的启动时间。
此外,规模化主要涵盖测量和迭代。PHP是以分析和优化为要义建立的。
 
误区7: PHP缺少好的并发支持
 
除了偶尔叫嚣性能和规模化的问题,有人想提的技术些,“PHP缺乏并发,”或者,“GIL怎么样?“如果几十个反例仍不足以支持PHP水平及垂直拓展规模的能力,那么再更深地解释PHP实现细节也不会有帮助。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。当Memcache和php相遇时,就产生了不可想象的强大的火花。加上PHP的fpm模式,对并发处理的相当完美。一个基于单一worker的协同异步架构草图。最外层的盒子是进程,下一个层次为线程,这里这些线程都是轻线程。操作系统处理线程间的抢占,而I/O异步协同合作。
 
最后总结一下:
这些误解可能只是消遣。讨论这些问题的人依然很多,包括内部和外部, 因为隐含在每一个谬误里的都是一个php的优势的认识。 而且, 记住这些看似乏味的表现和麻烦的问题是稳步成长的表现,并稳定地增长兴趣促进教育和持续地工作。 在这里,希望能扑灭一场充满火焰的战争,并且使得能真正去谈论工作与php的实现
最后再说一下,一般只有非PHP工作者才会有这么多的认知错误,而一个非php工作者甚至连PHP是什么,php可以做什么?都讲不清楚。只是不希望这些认识误区影响了那些即将准备学习PHP的人们。失去对 PHP的热情,对于PHP初学者的影响是致命的。
也希望,PHP的初学者可以坚定自己选择的方向,所有的是非对错,都将在你学完之后有一个属于你自己的结果。
 
欣才为你推荐《欣才带你重新认识PHP》点击查看更多。
本文由欣才IT学院整理发布,未经许可,禁止转载。