Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen PHP5.2 und 5.3?

Was ist der Unterschied zwischen PHP5.2 und 5.3?

王林
王林Original
2021-09-27 14:24:123072Durchsuche

Die Unterschiede zwischen PHP5.2 und 5.3 sind: 1. PHP5.3 verzichtet auf Funktionen wie Register Globals und Magic Quotes. 2. Fügt neue magische Methoden __invoke() und __callStatic() hinzu. 3. Unterstützt die Definition von Konstanten mit const.

Was ist der Unterschied zwischen PHP5.2 und 5.3?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP 5.2 und PHP 5.3, Thinkpad T480-Computer.

Viele Freunde kennen möglicherweise nicht den Unterschied zwischen PHP 5.2 und PHP 5.3. Schauen wir uns die Unterschiede zwischen diesen beiden Versionen genauer an und was die spezifischen Unterschiede sind. Schauen wir uns sie gemeinsam an.

Werfen wir zunächst einen Blick auf die PHP 5.2-Version.

php5.2(2006-2011)

JSON的支持
       增加了json_encode(),json_decode()等函数

Dann werfen wir einen Blick auf die PHP 5.3-Version.

php5.3 (2009-2012)

PHP5.3 ist ein sehr großes Update. Es fügt viele neue Funktionen hinzu und nimmt auch einige Änderungen vor, die nicht abwärtskompatibel sind.

1. Veraltete Funktionen

Die folgenden Funktionen sind veraltet. Wenn sie in der Konfigurationsdatei aktiviert sind, gibt PHP zur Laufzeit eine Warnung aus.

Register Globals
Magic Quotes
Safe Mode

2. Anonyme Funktion

f u n c = f u n c t i o n ( func=function(func=function(arg){
echo $arg;
}
$func(‘hello’);

3. Magische Methoden __invoke(), __callStatic();

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().
该魔术方法会在将一个对象作为函数调用时被调用:
class A
{
    public function __invoke($str)
    {
        print "A::__invoke(): {$str}";
    }
}

$a = new A;
$a("Hello World");
输出毫无疑问是:  A::__invoke(): Hello World

__callStatic() 则会在调用一个不存在的静态方法时被调用。

4. Namespace, aber nicht perfekt, unterstützt nur späte statische Bindung

6 Nowdoc

Es wurden einige Verbesserungen an Heredoc und Nowdoc vorgenommen, die beide zum Einbetten großer Zeichenfolgen in PHP-Code verwendet werden.

7. Verwenden Sie const, um Konstanten zu definieren

Ab PHP5.3 wird die Verwendung von const zum Definieren von Konstanten im globalen Namespace und in Klassen unterstützt.

旧式风格:
define("XOOO", "Value");
新式风格:

const XXOO = "Value";
const 形式仅适用于常量,不适用于运行时才能求值的表达式:
// 正确
const XXOO = 1234;
// 错误
const XXOO = 2 * 617;
(在5.6版后可以了)

8. Die abgekürzte Form des ternären Operators

Alter Stil:

echo $a ? $a : “No Value”;

kann wie folgt abgekürzt werden:

echo $a ?: “No Value”;

Das heißt, wenn der zweite Teil des ternären Operators weggelassen wird, wird standardmäßig der erste Teil ersetzt .

9.Phar

Phar ist PHP-Archiv. Es war ursprünglich nur eine Bibliothek in Pear. Es wurde später als C-Erweiterung in PHP5.3 umgeschrieben und in PHP integriert.

Phar wird verwendet, um mehrere .php-Skripte (kann auch andere Dateien packen) in eine .phar-komprimierte Datei (normalerweise im ZIP-Format) zu packen.

Der Zweck besteht darin, Javas .jar zu imitieren. Nein, der Zweck besteht darin, die Veröffentlichung von PHP-Anwendungen komfortabler zu gestalten. Es bietet auch Funktionen wie die Überprüfung digitaler Signaturen.

.phar-Dateien können von der PHP-Engine genau wie .php-Dateien interpretiert und ausgeführt werden. Gleichzeitig können Sie auch Code wie diesen schreiben, um den Code in .phar einzubinden (erforderlich):

require(“xxoo.phar”);
require(“phar://xxoo.phar/xo/ox.php”);

Empfohlenes Lernen:

PHP-Training

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP5.2 und 5.3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn