+ -
当前位置:首页 → 问答吧 → PHP 路在何方? 怎样才能让企业更乐意选择PHP

PHP 路在何方? 怎样才能让企业更乐意选择PHP

时间:2006-10-29

来源:互联网

怎样才能让企业毫不犹豫的选择PHP呢?PHP以后的路在该什么走?PHP怎样才能从ASP.NET和JSP中抢到程序员,而非PHP程序员流失?就这些问题,我在网上收集了一些分析PHP优缺点的文字,并寻找解决PHP缺点的解决只道。希望大家一起跟来分析PHP的优略,一起寻找PHP的发展之路。(你说出缺点的时候最好至少带一点解决的办法,不要让这贴子变成讨论3P好坏的无聊帖!OK?)

1995年时,Rasmus在用PHP写他的个人主页;今天,PHP成为风靡全球的脚本语言,越来越多的站点选择使用PHP,连Yahoo都放弃了自己的脚本而改用PHP支持它的网站。但是,在曾经使PHP成功的初学者市场、易用性和开源支持等方面都受到挑战,而随着机器性能的不断提高,PHP要在ASP.net和J2EE的狭缝中生存并壮大,是一件很不容易的事情。而PHP本身还有不少问题。像低层用户过多。大量的开发者处于入门阶段,不知道如何提高自己,导致大量开源代码不规范和低效率,而又会又下一批初学者从这些糟糕的代码中学习,如此递归。另一方面,高阶用户却因为PHP的面向对象特性不完整等原因而不得不转向其他语言以开发大型应用。

网络脚本界的革新浪潮由Microsoft的ASP.net首先发起。在ASP.net中,有一个很吸引人的东西――事件驱动机制。这在桌面编程中是很普通的概念,而在脚本编程中事件驱动意味着对服务器端的脚本(如PHP、JSP、ASP)和客户端的脚本(如JavaScript和VbScript)进行封装,使之协同工作。这样一来,编程就会变得异常方便。在.net环境中的事件驱动还有一个优势,就是你甚至可以不会任何服务器端脚本和客户端脚本,因为在ASP.net中,是可以直接使用C#这样的语言的――连$都不用加。这为MS阵营的传统程序员转向网络开发铺平了道路,同时,也使PHP在初学者市场上受到很大的打击。可以预见,以后的传统程序员转向PHP的将大为减少。不过ASP.net最大的问题在于它只能在Windows上运行,而现在大陆正在大力发展Linux。这使得PHP的生存空间似乎宽了点,但是――让我们来看看Java吧。

Java也是一个奇迹,1995年发布第一个版本,现在形成三个版本,分别覆盖嵌入式系统(J2me)桌面程序(J2se)和服务器(J2ee)三大应用领域。更重要的是,Java得到了绝大多数程序员的认可,现在世界上最出色的计算机书籍多是以C++或者Java作为描述语言的。Java几乎像C一样,成为一种信仰。所以,我们不要妄想Java阵营的程序员会转向PHP。同时,在同是开源和跨平台的Java面前,PHP丢掉了不少优势。J2ee中的JSP又在初学者市场对PHP造成相当的压力。



我们先从PHP内部的原因来看:
引用:
1. 许多PHP模块都不是线程安全的

在几年前,Apache发布了Web服务器的2.0版。这个版本支持多线程模式,在这个模式下,软件一个一部分可以同时运行多个。PHP的核心是线程安全的,但是非核心模块不一定是。你想要在PHP脚本中使用这种模块,但有时候这又使你的脚本不能合适Apache的多线程模式。
多线程是一种主流技术,PHP目前可以通过模拟多线程来实现多线程;    这个应该可以慢慢完善,ZEND正在慢慢的做针对性的设计。这个是服务器的特性,可以慢慢的改上去,目前不会对PHP应用照成大的影响,但是长期不改的话当然适应不了软件业的发展。
2. 不标准的日期格式字符
PHP相对于JAVA来讲,一些方面的确需要统一。
3.魔法引用是双面刀,PHP6可能会去掉
4.缺少标准框架, 现在zend fw 才开始不久,而且ZF只适合PHP5,这样比较难推广吧,还不够完善,有待提高。大家给点意见或建议
引用:
PHP的性能和开发效率已经很高了,但是我还是希望他有更高的性能和效率。
我要说的一个解决办法,ZEND有99%不想做,但应该有人做。
ZEND已经有这样的技术了:
Zend Optimizer是免费的,绝大多数的虚拟主机都装上了,但优化编码的Zend Guar是个商业的软件,我不能说zend这样做是什么什么,
但有一点毫无疑问的是,要是把Zend Optimizer和Zend Guar都做为PHP的免费模块,一个做 VM,一个做 编码器,在编码的时候不用加密速度肯定还要快。
更进一步的说,PHP代码中可以象smarty那样,按PHP代码是否请求,想对哪个页面编码就在某PHP页面中用相关函数或方法调用编码器,
想对页面在修改的话,再在某个页面调用模块提供的函数或方法文件还原成PHP代码(Zend Guar破解者已经做了好多),从PHP的代码编写角度来看,只要写一个类就可以随时随地编码解码了 ,这样的话,JSP,ASP.NET 的速度,灵活性和性能还能比得上吗?PHP是一个相对比较小的语言,要使他实现一些特性是比较好办的。

我在异想天开,但是你上GOOGLE看,也许就快有人发布这样一个东西了。
  
从PHP5的改变中,我们看出了PHP将来的方向。一是和JSP竞争,争取在某一些方面取代JSP,成为粘合JavaBeans和Servlet的胶水。这要求PHP和Java之间建立更为紧密的关系。Zend小组正在参与JSR规范的指定。这个规范将使得你可以在PHP中直接new一个Java对象并调用它的方法。这样也能使PHP更快的进入企业级市场。另外,如果PHP编写的脚本能被直接编译成Bytecode在Jvm上运行的话,PHP的前景会好很多。另一个方向是做Java和.net间的集成,在一些大型的应用中整合已有资源。PHP4中我们已经可以调用com组件和Java对象,相信在将来PHP5将对此提供更多的支持。

PHP6
将和Yahoo一起开发PHP的Unicode模块,对非英语更好的支持
与IBM和uzo,已合作推出集成Zend IDE开发特性的Elicpse给大家使用


不管怎么样,无论是和J2ee和.net竞争还是融合,PHP要走的,将是一条满是荆棘的路。不过既然PHP已经一路风雨地走到了今天,我们有什么理由不相信它能走得更远呢?


希望大家踊跃提出发展PHP的好的办法

[ 本帖最后由 phpvista 于 2006-10-30 00:11 编辑 ]

作者: phpvista   发布时间: 2006-10-29

速度不是问题哈. 程序慢了.加硬件就是了.

作者: szy_session1987   发布时间: 2006-10-29

强啊。。

作者: kenus   发布时间: 2006-10-29

加硬件还是比不上JAVA啊
都知道PHP处理大系统是要分布计算的
体统大了,不生成静态页的话,要是使用缓存的地方无法比较多的话,还是比较麻烦
在说ASP.NET,JSP都有自己的中间件,JSP的APP,.NET的IIS,apache小组还给JSP个TOMCAT,PHP只能在各平台当插件用,APACHE有点改动,它只好跟着乱跑,没有一点主动的地位

作者: phpvista   发布时间: 2006-10-29

大家对效率的要求渐渐降低的情况下??????
屁,这二天在整个CRM系统,弄个二十多万条记录,我自己的电脑就扛不住了
效率还是要的!!!

作者: xiaojia   发布时间: 2006-10-29

靠,这个也给你挖出来了,我删掉算了

作者: phpvista   发布时间: 2006-10-30