- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- php5.2和5.3有哪些區別
小編給大家分享一下php5.2和5.3有哪些區別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php5.2和5.3的區別有:1、php5.3棄用了Register Globals、Magic Quotes等功能;2、新增了魔術(shù)方法__invoke()、__callStatic();3、支持用const定義常量。
本文操作環(huán)境:windows10系統、php 5.2&&php 5.3、thinkpad t480電腦。
很多小伙伴可能不太了解php 5.2和php 5.3之間有什么區別。下面我們就來(lái)具體介紹下這兩個(gè)版本之間有什么區別,具體的區別在哪里,一起來(lái)看下吧。
我們先來(lái)看下php 5.2這個(gè)版本。
php5.2(2006-2011)
JSON的支持 增加了json_encode(),json_decode()等函數
接著(zhù)我們來(lái)看下php 5.3這個(gè)版本。
php5.3(2009-2012)
PHP5.3 算是一個(gè)非常大的更新,新增了大量新特征,同時(shí)也做了一些不向下兼容的修改,一起來(lái)看下。
1.棄用的功能
以下幾個(gè)功能被棄用,若在配置文件中啟用,則 PHP 會(huì )在運行時(shí)發(fā)出警告。
Register Globals Magic Quotes Safe Mode
2.匿名函數
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();
隨著(zhù)匿名函數的加入,PHP 引入了一個(gè)新的魔術(shù)方法 __invoke(). 該魔術(shù)方法會(huì )在將一個(gè)對象作為函數調用時(shí)被調用: 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ì )在調用一個(gè)不存在的靜態(tài)方法時(shí)被調用。
4.命名空間,但不完善,只支持類(lèi)
5.后期靜態(tài)綁定
6.Heredoc 和 Nowdoc
對 Heredoc 以及 Nowdoc 進(jìn)行了一些改進(jìn),它們都用于在 PHP 代碼中嵌入大段字符串。
7.用 const 定義常量
PHP5.3 起同時(shí)支持在全局命名空間和類(lèi)中使用 const 定義常量。
舊式風(fēng)格: define("XOOO", "Value"); 新式風(fēng)格: const XXOO = "Value"; const 形式僅適用于常量,不適用于運行時(shí)才能求值的表達式: // 正確 const XXOO = 1234; // 錯誤 const XXOO = 2 * 617; (在5.6版后可以了)
8.三元運算符簡(jiǎn)寫(xiě)形式
舊式風(fēng)格:
echo $a ? $a : “No Value”;
可簡(jiǎn)寫(xiě)成:
echo $a ?: “No Value”;
即如果省略三元運算符的第二個(gè)部分,會(huì )默認用第一個(gè)部分代替。
9.Phar
Phar即PHP Archive, 起初只是Pear中的一個(gè)庫而已,后來(lái)在PHP5.3被重新編寫(xiě)成C擴展并內置到 PHP 中。
Phar用來(lái)將多個(gè) .php 腳本打包(也可以打包其他文件)成一個(gè) .phar 的壓縮文件(通常是ZIP格式)。
目的在于模仿 Java 的 .jar, 不對,目的是為了讓發(fā)布PHP應用程序更加方便。同時(shí)還提供了數字簽名驗證等功能。
.phar 文件可以像 .php 文件一樣,被PHP引擎解釋執行,同時(shí)你還可以寫(xiě)出這樣的代碼來(lái)包含(require) .phar 中的代碼:
require(“xxoo.phar”); require(“phar://xxoo.phar/xo/ox.php”);
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站