溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php5.2和5.3有哪些區(qū)別

發(fā)布時(shí)間:2021-09-27 14:36:26 來(lái)源:億速云 閱讀:142 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

php
AI