Nouvelles fonctionnalités
Cœur de PHP
Syntaxe Plus Flexible pour Heredoc et Nowdoc
Le marqueur fermant pour les chaînes doc n'est plus requis d'être suivi par un point virgule ou un retour à la ligne. Additionellement le marqueur fermant peut être indenté, dans ce cas l'indentation sera retirée de toute les lignes dans la chaîne doc.
La Déstructuration de Tableaux prend en charge les Assignations de Référence
La déstructuration de tableaux supporte désormais les assignements de référence en utilisant la syntaxe [&$a, [$b, &$c]] = $d. Ceci est aussi supporté pour list().
L'Opérateur Instanceof accepte les Littéraux
instanceof accepte désormais les littéraux comme premier
opérant, dans ce cas le résultat est toujours FALSE
.
Exception CompileError au lieux de quelque Erreurs de Compilation
Une nouvelle exception CompileError a été ajouté,
duquel ParseError inhérite. Un petit nombre d'erreurs
de compilation lanceront désormais CompileError au
lieu de générer une erreur fatale. Actuellement ceci affecte uniquement les
erreurs de compilation qui peuvent être lancée par
token_get_all() dans le mode TOKEN_PARSE
,
mais plus d'erreurs pourront être convertit dans le futur.
Les Virgules de Fin sont Autorisés dans les Appels
Les virgules de fin dans les appels de fonctions et méthodes sont désormais autorisé.
Support pour Argon2id
L'argument de configuration
--with-password-argon2[=dir]
fournit désormais le support pour les hash Argon2i et Argon2id dans les
fontions password_hash(),
password_verify(),
password_get_info(), et
password_needs_rehash(). Les mots de passe peuvent être
haché et vérifié en utilisant la constante PASSWORD_ARGON2ID
.
Le support pour Argon2i et Argon2id dans les fonctions
password_*() nécessite désormais que PHP soit lié contre
la bibliothèque de référence libargon2 ≥ 20161029.
Gestionnaire de Processus FastCGI
De nouvelles options ont été ajoutée pour personnaliser les journaux d'événements FPM :
- log_limit
- Cette option globale peut être utilisée pour définir la limite de journal pour la ligne journalisée, ce qui permet de consigner des messages de plus de 1024 caractères sans retour à la ligne. Il corrige également divers problèmes d'emballage (retour à la ligne).
- log_buffering
- Cette option globale permet une journalisation expérimentale sans mise en mémoire tampon supplémentaire.
- decorate_workers_output
- Cette option de pool permet de désactiver la décoration de sortie pour les sorties des workers quand catch_workers_output est activé.
Fonctions BC Math
bcscale() peut désormais être utilisé en tant que récupérateur pour récupérer la précision actuellement en utilisation.
Lightweight Directory Access Protocol
Support total pour les Contrôles LDAP a été ajouté au fonctions de requête LDAP et ldap_parse_result() :
- Un paramètre $serverctrls pour envoyer les contrôles au serveur dans ldap_add(), ldap_mod_replace(), ldap_mod_add(), ldap_mod_del(), ldap_rename(), ldap_compare(), ldap_delete(), ldap_modify_batch(), ldap_search(), ldap_list() et ldap_read() a été ajouté.
- Le paramètre de sortie $serverctrls pour récupérer les contrôles depuis le serveur dans ldap_parse_result() a été ajouté.
-
Support pour
LDAP_OPT_SERVER_CONTROLS
etLDAP_OPT_CLIENT_CONTROLS
dans ldap_get_option() et ldap_set_option() a été corrigé.
Fonctions pour les Chaînes Multi-Octets
Support pour le Mappage Pleine Casse et Pliage de Casse
Support pour le mappage pleine casse et pliage de casse a été ajouté. Contrairement au mappage basique de casse, le mapping pleine casse peut modifier la longueur de la chaîne. Par exemple :
<?php
mb_strtoupper("Straße");
// Produit STRAßE en PHP 7.2
// Produit STRASSE en PHP 7.3
?>
-
MB_CASE_LOWER
(utilisé par mb_strtolower()) -
MB_CASE_UPPER
(utilisé par mb_strtoupper()) -
MB_CASE_TITLE
-
MB_CASE_FOLD
-
MB_CASE_LOWER_SIMPLE
-
MB_CASE_UPPER_SIMPLE
-
MB_CASE_TITLE_SIMPLE
-
MB_CASE_FOLD_SIMPLE
(utilisé par les opérations insensible à la casse)
Les Opérations de Chaînes Insensible à la Casse utilise le Pliage de Casse
Les opérations de chaînes insensible à la casse utilise désormais le pliage de casse au lieu du mappage de casse lors des comparaisons. Ceci signifie que plus de caractères seront considéré (insensible à la casseà égal désormais.
MB_CASE_TITLE exécute une Conversion Casse de Titre
mb_convert_case() avec MB_CASE_TITLE
exécute désormais une conversion casse de titre basé sur les propriétés
dérivé Unicode Cased et CaseIgnorable. En particulier ceci améliore aussi
la gestions des guillemets et apostrophes.
Support pour Unicode 11
Les tables de données pour les Chaînes Multi-octets ont été mis à jour pour Unicode 11.
Support pour les Chaînes Longues
Les Fonctions de Chaînes Multi-Octets supportent désormais correctement les chaînes plus grande que 2Go.
Amélioration des Performances
Les performances de l'extension des Chaînes Multi-Octets a été amélioré de façon significative à tous les niveaux. Les plus grandes améliorations sont dans les fonctions de convertion de casse.
Support pour les Captures Nommées
Les fonctions mb_ereg_* supportent désormais les captures nommées. Les fonctions de correspondances comme mb_ereg() retourneront désormais les captures nommées en utilisant à la fois leurs numéro de groupe et leurs nom, similaire à PCRE :
<?php
mb_ereg('(?<word>\w+)', '国', $matches);
// => [0 => "国", 1 => "国", "word" => "国"];
?>
\k<>
et \k''
pour faire référence
au captures nommées dans la chaîne de remplacement :
<?php
mb_ereg_replace('\s*(?<word>\w+)\s*', "_\k<word>_\k'word'_", ' foo ');
// => "_foo_foo_"
?>
\k<>
et \k''
peuvent aussi être utilisé pour
les références numériques, qui fonctionnent aussi avec des nombres de groupe
supérieur à 9.
Readline
Le support pour les options completion_append_character et completion_suppress_append ont été ajoutées à readline_info(). Ces options sont seulement disponible si PHP est lié contre libreadline (plutôt que libedit).
Version en cache
22/12/2024 18:39:09 Cette version de la page est en cache (à la date du 22/12/2024 18:39:09) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-migration73.new-features.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.