Nouveautés apportées par PHP7
Déclaration de type .
Vous pouvez utiliser des chaînes, des entiers, des flottants et des booléens pour déclarer les types de paramètres de fonction et la fonction renvoie la valeur.
declare(strict_types=1); function add(int $a, int $b): int { return $a+$b; } echo add(1, 2); echo add(1.5, 2.6);
php5 ne peut pas exécuter le code ci-dessus. Lorsque php7 est exécuté, il affichera d'abord un 3 et une erreur (l'argument 1 passé à add() doit être du type entier, float donné) ;
Il existe deux modes de déclaration de type scalaire : le mode obligatoire (par défaut) et le mode strict.
declare(strict_types=1), doit être placé sur la première ligne du fichier pour exécuter le code. Le fichier actuel est valide !
2.set_exception_handler() ne garantit plus que ce qui est reçu doit être un objet Exception
En PHP 7, il existe de nombreuses erreurs fatales et fatales récupérables les erreurs, sont converties en exceptions pour le traitement. Ces exceptions héritent de la classe Error, qui implémente l'interface Throwable (toutes les exceptions implémentent cette interface de base).
PHP7 facilite davantage les développeurs et leur donne un plus grand contrôle sur le programme. Parce que par défaut, l'erreur provoquera directement l'interruption du programme, tandis que PHP7 offre la possibilité de la capturer et de la traiter, permettant ainsi au programme de continuer. la mise en œuvre continue de fournir aux programmeurs des options plus flexibles.
3. Nouvel opérateur "<=>"
Syntaxe : $c = $a <=> $a > $b, la valeur de $c est 1
Si $a == $b, la valeur de $c est 0
Si $a < La valeur de c est -1
4. Nouvel opérateur "??"Si la variable existe et que la valeur n'est pas NULL, elle renverra sa propre valeur , sinon renvoie son deuxième opérande.
//原写法 $username = isset($_GET['user]) ? $_GET['user] : 'nobody'; //现在 $username = $_GET['user'] ?? 'nobody';
define('ARR',['a','b']);
echo ARR[1];// a
AST joue le rôle d'un middleware dans le processus de compilation PHP, remplaçant la méthode originale consistant à cracher l'opcode directement depuis l'interpréteur, découplant l'interpréteur (analyseur) et le compilateur (compilateur), ce qui peut réduire certains codes de piratage et rendre l'implémentation plus efficace. Facile à comprendre et maintenable.
PHP5 : Code PHP-> Analyse de la syntaxe de l'analyseur-> -> OPCODE -> Exécuter
Référence :
https://wiki.php.net/rfc/abstract_syntax_tree
$anonymous_func = function(){return 'function';}; echo $anonymous_func(); // 输出function
8. Prise en charge du format de caractères Unicode (écho « u{9999} »)
9.Unserialize fournit des fonctionnalités de filtrage
Empêchez l'injection de code de données illégales et fournissez des données désérialisées plus sûres.
10. Optimisation des références d'espace de noms// PHP7以前语法的写法 use FooLibrary\Bar\Baz\ClassA; use FooLibrary\Bar\Baz\ClassB; // PHP7新语法写法 use FooLibrary\Bar\Baz\{ ClassA, ClassB};
Tutoriel recommandé : "Tutoriel PHP7"
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!