Autres changements

Assouplissement des restrictions des mots réservés

Globalement, l'utilisation des mots réservés en tant que nom de propriété, constante ou méthode dans des classes, des interfaces ou des traits sont désormais autorisés. Ceci réduit la surface des casses de rétrocompatibilité quand des nouveaux mots-clés sont introduits et évite les restrictions de nommage sur les APIs.

Ceci est particulièrement utile lorsque vous créez des DSLs internes avec des interfaces "fluent" :

<?php
// 'new', 'private' et 'for' étaient inutilisables auparavant
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

La seule limitation est que le mot-clé class ne peut toujours pas être utilisé comme nom de constante, sinon il serait en conflit avec la syntaxe de résolution du nom de la classe (ClassName::class).

Enlèvement de l'avertissement date.timezone

Auparavant, un avertissement était émit si le paramètre INI date.timezone n'avait pas été défini avant d'utiliser les fonctions de date/temps. Maintenant, cet avertissement a été supprimé (avec date.timezone qui continue d'être UTC par défaut).

add a note add a note

User Contributed Notes 1 note

up
0
Nicole Ama
8 years ago
Using "continue" outside of a loop or switch context throws a fatal error. Use "return" instead, if it makes sense to. Probably should have used return to begin with, but it never threw an error as of PHP 5.2. Not sure about later php 5.x versions.
To Top