PHP 7 10 choses à savoir
Êtes-vous un développeur Web ou un propriétaire de site Web? Vos sites fonctionnent-ils sur des CMS compatibles avec PHP, tels que WordPress, Drupal, Joomla ou Magento? Ensuite, j’ai une bonne nouvelle pour vous: la version bêta complète du nouveau PHP 7 est récemment sorti. La version majeure 7.0.0 contient tellement de fonctionnalités intéressantes que nous avons décidé de lui consacrer un article entier. Mais d’abord, nous devons insérer quelques rappels.
Notez que PHP 7 est encore en phase de développement donc ne l'utilisez pas en production jusqu'en novembre quand le version finale sera publié. Si - en tant que futur utilisateur - vous souhaitez prendre votre juste part du processus de développement, vous pouvez nous aider à télécharger la dernière version bêta, à la manipuler dans votre environnement de test et à signaler les bugs trouvés lors des tests. Pour savoir quand la prochaine version bêta sera disponible, voici le calendrier du projet.
Voyons cela avec PHP 7..
1. Le nom du PHP 7 (pas 6)
La version stable actuelle utilise le numéro de version PHP 5.6. Après quelques discussions, l'équipe de développement a décidé d'omettre le nom PHP 6 pour la prochaine version majeure. PHP 6 existait déjà en tant que projet expérimental mais n’a jamais atteint la phase de production.
Pour empêcher les utilisateurs de confondre l'ancienne tentative avec le dernier développement, la nouvelle version majeure sera exécutée sous le nom de PHP 7.
2. Le nouveau moteur Zend flambant neuf
Le moteur Zend alimente PHP depuis 1999, année de son introduction dans la toute nouvelle version de PHP 4. Zend - à ne pas confondre avec le Zend Framework - est un moteur d'exécution à code source ouvert écrit en C interprétant le langage PHP. L’utilisation actuelle de la série PHP 5.X Zend Engine II qui a amélioré la fonctionnalité du moteur initial et ajoute un modèle d'objet extensible et un amélioration significative des performances à la langue.
PHP 7 reçoit une toute nouvelle version du moteur sous le nom de code PHP # NG (Next Generation).
3. Deux fois la vitesse
L’avantage le plus facilement reconnaissable du nouveau moteur PHPNG est l’amélioration significative des performances. L’équipe de développement de PHPNG a remanié le moteur Zend Engine et optimisé remarquablement l’utilisation de la mémoire.
Les resultats? Vous pouvez voir les critères de performance fournis par l'équipe de performance Zend ci-dessous. En utilisant PHP 7 non seulement votre code sera exécuté plus rapidement mais vous aussi besoin de moins de serveurs pour desservir le même nombre d'utilisateurs.
4. Facilite le traitement des erreurs
Pour le moins qu'on puisse dire, gérer des erreurs fatales fatales et capturables n'a jamais été une tâche facile pour les codeurs PHP. Le nouveau Exceptions moteur vous permettra de remplacer ce type d’erreurs par des exceptions. Si l'exception n'est pas interceptée, PHP continuera à renvoyer les mêmes erreurs fatales que dans la série 5.X actuelle..
Le nouveau \ EngineException les objets ne prolongent pas la \Exception Classe de base. Cela garantit la compatibilité ascendante et entraîne deux types d’exceptions différents dans la gestion des erreurs: traditionnel et exceptions de moteur.
Pour permettre aux programmeurs d’attraper les deux, PHP 7 introduit une nouvelle Classe parent partagée sous le nom de \ BaseException.
5. Prise en charge des systèmes Windows 64 bits
PHP est un membre important de la pile LAMP, ce qui signifie que son environnement natif est Linux - mais il est également possible de l'exécuter sur un système Windows. La série 5.X ne fournit pas encore de support pour les entiers ou les fichiers volumineux 64 bits. Jusqu'à présent, les versions x64 ont été prises en compte. expérimental.
PHP 7 va changer cela au fur et à mesure introduit un support cohérent 64 bits ce qui signifie que les entiers natifs 64 bits et les fichiers volumineux seront pris en charge, ce qui vous permettra à l'avenir d'utiliser la langue en toute confiance sur votre système Windows 64 bits.
6. Nouveaux opérateurs de vaisseau spatial et de coalescence nulles
le Opérateur de vaisseau spatial fonctionne sous le nom officiel d'opérateur de comparaison combiné. La notation du nouvel opérateur ressemble à ceci: <=>
(un peu comme un vaisseau spatial simplifié, si vous l’imaginez juste).
L'opérateur de vaisseau spatial renvoie 0 si les deux opérandes sont égaux, 1 si la gauche est plus grande et -1 si la droite est plus grande. C'est aussi appelé un opérateur de comparaison à trois voies, et il existe déjà dans d'autres langages de programmation populaires comme Perl et Ruby.
L'opérateur Null Coalescing est désigné par deux points d'interrogation (??). Vous pouvez l'utiliser lorsque vous voulez vérifier si quelque chose existe et renvoyer une valeur par défaut, sinon. L'opérateur coalesce renvoie le résultat de son premier opérande s'il existe et n'est pas nul, et le deuxième opérande dans les autres cas..
Voici comment le nouvel opérateur réduit le temps passé avec les déclarations de base:
7. Permet des déclarations de type précises
Avez-vous déjà voulu empêcher les valeurs de retour non souhaitées en déclarant le type de retour d'une fonction? Eh bien, la nouvelle version de PHP 7 permet aux développeurs d’améliorer la qualité de leur code à l’aide de déclarations de type de retour.
L'image ci-dessous représente un cas d'utilisation très simple où le foo () La fonction est supposée renvoyer un tableau. Découvrez des exemples plus compliqués ici.
Pour améliorer encore plus la fonctionnalité, PHP 7 introduit 4 nouvelles déclarations de types pour les types scalaires: int, float, string et bool. Les nouveaux types scalaires permettent aux développeurs d'indiquer qu'ils s'attendent à ce que des entiers, des flottants, des chaînes ou des booléens soient renvoyés. Les nouveaux types scalaires introduits par PHP 7 seront également pris en charge par l'argument astuce de type qui permet aux développeurs de forcer le type des paramètres depuis la série PHP 5.X..
8. Ajoute des classes anonymes
PHP 7 vous permet d'utiliser des classes anonymes, une pratique déjà bien établie dans d'autres langages orientés objet comme C # et Java. Une classe anonyme est une classe sans nom. L'objet qu'il instancie a les mêmes fonctionnalités qu'un objet d'une classe nommée.
La syntaxe est la même que celle utilisée dans les classes PHP traditionnelles, seul le nom est manquant. Si les classes anonymes sont bien utilisées, elles peuvent accélérer le codage ainsi que le temps d'exécution. Les classes anonymes sont excellentes lorsqu'une classe n'est utilisée qu'une seule fois pendant l'exécution et dans les cas où une classe n'a pas besoin d'être documentée.
9. Facilite les importations depuis le même espace de noms
La nouvelle fonctionnalité Déclarations d’utilisation des groupes plaira à ceux qui veulent importer de nombreuses classes du même espace de noms. La nouvelle syntaxe réduit la verbosité, rend votre code plus ordonné et plus agréable pour les yeux et vous fait gagner beaucoup de temps de frappe..
Il sera également plus facile de lire et de déboguer les codes, car les déclarations d’utilisation de groupe vous aident à identifier les importations qui appartiennent au même module..
10. nettoie la chambre
Le but de PHP 7 était de libérer de l'espace pour permettre des améliorations. Il était donc nécessaire de se débarrasser de nombreuses fonctionnalités obsolètes et des API et extensions Server anciennes et non prises en charge. Si vous voulez vérifier quels sont ces détails, cliquez ici et ici.
Tous les éléments supprimés étant obsolètes depuis un certain temps en PHP 5, il est fort probable que vous ne les ayez pas utilisés depuis longtemps. Toutefois, veuillez noter si vous avez une application héritée fonctionnant sur les anciennes versions de PHP la nouvelle PHP 7 peut potentiellement casser le code.