Les nouveautés apportées par PHP 7 :
PHP 7 nous promet bon nombre d’améliorations par rapport à PHP 5. Petit tour d’horizon de ces nouveautés :• La performance. PHP 7 est jusqu’à deux fois plus rapide que PHP 5.
• L’utilisation de la mémoire a été significativement réduite.
• La conversion de nombreuses Fatal errors en exceptions.
• La suppression de nombreuses fonctions dépréciées.
• Etc. Vous pourrez retrouver une liste complète des améliorations apportées à cette nouvelle version sur le site https://php.net.
Certains d’entre vous se demanderont peut être pourquoi nous n’avons pas vu de PHP 6. En réalité, le PHP 6 a bien existé mais ce dernier est resté à l’état de chantier. Nous aurions dû voir l’intégration par exemple de l’Unicode au langage, mais malheureusement, les difficultés techniques furent trop nombreuses et le projet fut abandonné. Ajouté à cela une petit dose de superstition quant au chiffre 6. Il est assimilé à l'échec : PERL 6, Windows Vista ...
Les performances de PHP 7 sont-elles au rendez-vous ?
La principale et notable amélioration apportée au langage est sa rapidité. En effet, selon Zend, la mise à jour vers PHP 7 pourrait engendrer un gain de performance de 25 à 70%. Basée sur PHPNG (PHP Next-Generation), PHP 7 est une réponse à la technologie HHVM de Facebook qui a pour but de proposer une version de PHP plus performante. Ci-dessous vous pourrez trouver quelques comparatifs réalisés par Zend.3 bonnes raisons de migrer de PHP 5 vers PHP 7 :
• Il sera désormais possible de définir le type de valeur que doit retourner une fonction :
function foo(): array {
return [];
}
function bar(): DateTime {
return null; // incorrect
}
• Deux nouveaux opérateurs font leurs apparitions '<=>' et '??'. L'opérateur '<=>' nommé Spaceship retourne 0 si les 2 expressions sont égales, 1 si l’expression de gauche est plus grande et -1 si l’expression de droite est plus grande. L'opérateur ' ??' nommé 'Null Coalesce' permet de tester si une variable existe :
// $prenom prend la valeur du paramètre GET s'il existe et est différent de NULL, sinon il prendra la valeur 'personne'.
$prenom = $_GET['user'] ?? 'personne';
$x = NULL;
$y = NULL;
$z = 3;
var_dump($x ?? $y ?? $z); // int(3)
• Zend vous assure une compatibilité entre PHP 5 et PHP 7. Vous n’aurez donc normalement pas à vous souciez des problèmes de compatibilité lors de votre migration vers PHP 7.