您好,登錄后才能下訂單哦!
小編給大家分享一下php5.2和5.3有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php5.2和5.3的區(qū)別有:1、php5.3棄用了Register Globals、Magic Quotes等功能;2、新增了魔術(shù)方法__invoke()、__callStatic();3、支持用const定義常量。
本文操作環(huán)境:windows10系統(tǒng)、php 5.2&&php 5.3、thinkpad t480電腦。
很多小伙伴可能不太了解php 5.2和php 5.3之間有什么區(qū)別。下面我們就來(lái)具體介紹下這兩個(gè)版本之間有什么區(qū)別,具體的區(qū)別在哪里,一起來(lái)看下吧。
我們先來(lái)看下php 5.2這個(gè)版本。
php5.2(2006-2011)
JSON的支持 增加了json_encode(),json_decode()等函數(shù)
接著我們來(lái)看下php 5.3這個(gè)版本。
php5.3(2009-2012)
PHP5.3 算是一個(gè)非常大的更新,新增了大量新特征,同時(shí)也做了一些不向下兼容的修改,一起來(lái)看下。
1.棄用的功能
以下幾個(gè)功能被棄用,若在配置文件中啟用,則 PHP 會(huì)在運(yùn)行時(shí)發(fā)出警告。
Register Globals Magic Quotes Safe Mode
2.匿名函數(shù)
f u n c = f u n c t i o n ( func=function(func=function(arg){ echo $arg; } $func(‘hello’);
3.新增了魔術(shù)方法 __invoke(),__callStatic();
隨著匿名函數(shù)的加入,PHP 引入了一個(gè)新的魔術(shù)方法 __invoke(). 該魔術(shù)方法會(huì)在將一個(gè)對(duì)象作為函數(shù)調(diào)用時(shí)被調(diào)用: class A { public function __invoke($str) { print "A::__invoke(): {$str}"; } } $a = new A; $a("Hello World"); 輸出毫無(wú)疑問(wèn)是: A::__invoke(): Hello World __callStatic() 則會(huì)在調(diào)用一個(gè)不存在的靜態(tài)方法時(shí)被調(diào)用。
4.命名空間,但不完善,只支持類
5.后期靜態(tài)綁定
6.Heredoc 和 Nowdoc
對(duì) Heredoc 以及 Nowdoc 進(jìn)行了一些改進(jìn),它們都用于在 PHP 代碼中嵌入大段字符串。
7.用 const 定義常量
PHP5.3 起同時(shí)支持在全局命名空間和類中使用 const 定義常量。
舊式風(fēng)格: define("XOOO", "Value"); 新式風(fēng)格: const XXOO = "Value"; const 形式僅適用于常量,不適用于運(yùn)行時(shí)才能求值的表達(dá)式: // 正確 const XXOO = 1234; // 錯(cuò)誤 const XXOO = 2 * 617; (在5.6版后可以了)
8.三元運(yùn)算符簡(jiǎn)寫形式
舊式風(fēng)格:
echo $a ? $a : “No Value”;
可簡(jiǎn)寫成:
echo $a ?: “No Value”;
即如果省略三元運(yùn)算符的第二個(gè)部分,會(huì)默認(rèn)用第一個(gè)部分代替。
9.Phar
Phar即PHP Archive, 起初只是Pear中的一個(gè)庫(kù)而已,后來(lái)在PHP5.3被重新編寫成C擴(kuò)展并內(nèi)置到 PHP 中。
Phar用來(lái)將多個(gè) .php 腳本打包(也可以打包其他文件)成一個(gè) .phar 的壓縮文件(通常是ZIP格式)。
目的在于模仿 Java 的 .jar, 不對(duì),目的是為了讓發(fā)布PHP應(yīng)用程序更加方便。同時(shí)還提供了數(shù)字簽名驗(yàn)證等功能。
.phar 文件可以像 .php 文件一樣,被PHP引擎解釋執(zhí)行,同時(shí)你還可以寫出這樣的代碼來(lái)包含(require) .phar 中的代碼:
require(“xxoo.phar”); require(“phar://xxoo.phar/xo/ox.php”);
以上是“php5.2和5.3有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。