Maison  >  Article  >  développement back-end  >  Quelle est la différence entre php5.2 et 5.3

Quelle est la différence entre php5.2 et 5.3

王林
王林original
2021-09-27 14:24:122840parcourir

Les différences entre php5.2 et 5.3 sont : 1. php5.3 abandonne les fonctions telles que Register Globals et Magic Quotes ; 2. Ajoute de nouvelles méthodes magiques __invoke() et __callStatic();

Quelle est la différence entre php5.2 et 5.3

L'environnement d'exploitation de cet article : système Windows10, php 5.2&&php 5.3, ordinateur thinkpad t480.

Beaucoup d'amis ne connaissent peut-être pas la différence entre php 5.2 et php 5.3. Examinons de plus près les différences entre ces deux versions et quelles sont les différences spécifiques. Examinons-les ensemble.

Jetons d'abord un coup d'œil à la version php 5.2.

php5.2(2006-2011)

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

Jetons ensuite un œil à la version php 5.3.

php5.3 (2009-2012)

PHP5.3 est une très grosse mise à jour. Elle ajoute de nombreuses nouvelles fonctionnalités et apporte également quelques modifications qui ne sont pas rétrocompatibles.

1. Fonctionnalités obsolètes

Les fonctionnalités suivantes sont obsolètes si elles sont activées dans le fichier de configuration, PHP émettra un avertissement au moment de l'exécution.

Register Globals
Magic Quotes
Safe Mode

2. Fonction anonyme

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

3. Ajout de méthodes magiques __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. L'espace de noms, mais pas parfait, ne prend en charge que les classes

5. Nowdoc

Certaines améliorations ont été apportées à Heredoc et Nowdoc, qui sont tous deux utilisés pour intégrer de grandes chaînes dans le code PHP.

7. Utilisez const pour définir des constantes

À partir de PHP5.3, il est pris en charge d'utiliser const pour définir des constantes dans l'espace de noms et les classes globales.

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

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

8. La forme abrégée de l'opérateur ternaire

Ancien style :

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

peut être abrégé comme suit :

echo $a ?: “No Value”;

C'est-à-dire que si la deuxième partie de l'opérateur ternaire est omise, la première partie sera remplacée par défaut .

9.Phar

Phar est PHP Archive. C'était à l'origine juste une bibliothèque dans Pear. Elle a ensuite été réécrite en tant qu'extension C en PHP5.3 et intégrée à PHP.

Phar est utilisé pour regrouper plusieurs scripts .php (peut également regrouper d'autres fichiers) dans un fichier compressé .phar (généralement au format ZIP).

Le but est d'imiter le .jar de Java, non, le but est de rendre la publication d'applications PHP plus pratique. Il fournit également des fonctions telles que la vérification de la signature numérique.

Les fichiers .phar peuvent être interprétés et exécutés par le moteur PHP tout comme les fichiers .php. En même temps, vous pouvez également écrire du code comme celui-ci pour inclure (exiger) le code dans .phar :

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

Apprentissage recommandé :

formation php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn