Maison > développement back-end > PHP7 > Nouvelles fonctionnalités de php7 : nouveautés apportées par php7

Nouvelles fonctionnalités de php7 : nouveautés apportées par php7

L
Libérer: 2023-02-17 15:30:02
avant
2750 Les gens l'ont consulté

Nouvelles fonctionnalités de php7 : nouveautés apportées par php7

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);
Copier après la connexion

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[&#39;user]) ? $_GET[&#39;user] : &#39;nobody&#39;;
//现在
$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;
Copier après la connexion

5.define() définit un tableau constant

define(&#39;ARR&#39;,[&#39;a&#39;,&#39;b&#39;]);
echo ARR[1];// a
Copier après la connexion

6.AST : Arbre de syntaxe abstraite, Arbre de syntaxe abstraite

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

7. >

$anonymous_func = function(){return &#39;function&#39;;};
echo $anonymous_func(); // 输出function
Copier après la connexion

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};
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal