Maison >développement back-end >Problème PHP >Est-il nécessaire de mettre à jour php ?

Est-il nécessaire de mettre à jour php ?

(*-*)浩
(*-*)浩original
2019-10-15 15:13:143144parcourir

Puisque la mise à niveau de php est une priorité absolue et que l'entreprise ne prévoit de mettre à niveau que dans un avenir proche, donc avant je ne pouvais qu'apprécier le plaisir apporté par php7 en privé

Est-il nécessaire de mettre à jour php ?

Avantages apportés par PHP7

Oui, les performances ont été grandement améliorées, ce qui peut économiser des machines et économiser de l'argent. (Apprentissage recommandé : Tutoriel vidéo PHP)

Est-il nécessaire de mettre à jour php ?

Nouveautés apportées par PHP7

1 . Tapez la déclaration.

Vous pouvez utiliser des chaînes, des entiers, des flottants et des bools pour déclarer les types de paramètres de fonction et les valeurs de retour de fonction.

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

Dans PHP 7, de nombreuses erreurs fatales et erreurs fatales récupérables ont été converties en exception à gérer. 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 ""

语法:$c = $a <=> $b

Si $a > >Si $a == $b, la valeur de $c est 0

Si $a

4. Opérateur "??"

Si la variable existe et que la valeur n'est pas NULL, elle renvoie sa propre valeur, sinon elle 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;;

5.define() définit un tableau constant

define(&#39;ARR&#39;,[&#39;a&#39;,&#39;b&#39;]);
echo ARR[1];// a

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-> > AST -> OPCODE -> Exécuter

7. Fonction anonyme

$anonymous_func = function(){return &#39;function&#39;;};
echo $anonymous_func(); // 输出function

8. ”)

9.Unserialize fournit des fonctionnalités de filtrage

pour empêcher l'injection de code de données illégales et fournir 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};

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