Nouvelles fonctionnalités
Nouveau type object
Un nouveau type, object, a été introduit. Il peut être utilisé
pour typer un paramètre (contravariant) ou pour typer le retour (covariant).
Chargement des extensions par leur nom
Les extensions partagées ne demanderont plus de saisir leur nom
complet (.so
pour Unix ou .dll
pour Windows). C'est actif pour le fichier php.ini et pour la
fonction dl().
Substitution de méthode abstraite
Les méthodes abstraites peuvent maintenant être surchargées quand une
classe abstraite étend une autre classe abstraite.
Sodium est maintenant une extension du noyau
La bibliothèque moderne de cryptographie sodium est maintenant devenue une extension de base dans PHP.
Pour une référence de fonction complète, consultez le chapitre Sodium.
Extension des types de chaîne PDO
Le type de chaîne de PDO a été étendu pour prendre en charge le type de
caractère national lors de l’utilisation des requêtes préparées. Cela a été
fait avec l’une des constantes suivantes :
Ces constantes sont utilisées avec l’opérateur de bits OR
et PDO::PARAM_STR
:
Ajout d'information de débogage pour l'émulation des requêtes préparées pour PDO
La méthode PDOStatement::debugDumpParams() a été mise à
jour pour inclure le SQL envoyé à la DB, où la requête complète, requête
brute (y compris les espaces réservés remplacés par leurs valeurs liées)
sera montrée. Ceci a été ajouté afin de faciliter le débogage
de l'émulation des requêtes préparées (et donc il sera disponible lorsque
l'émulation des requêtes préparées est activée).
Prise en charge des opérations étendues de LDAP
La prise en charge des EXOP a été ajoutée dans l'extension LDAP. Cela a été
fait en exposant les constantes et les fonctions suivantes :
Informations additionnelles des adresses dans l'extension Sockets
L'extension sockets a maintenant la capacité de rechercher les informations
sur l'adresse, mais aussi de s'y connecter, de se lier dessus et de
l'expliquer. Les quatre fonctions suivantes ont été ajoutées pour cela :
Elargissement du type des arguments
Les types de paramètres des méthodes substituées et des implémentations de
l’interface peuvent maintenant être omises. C’est toujours dans le respect
de LSP, puisque les types de paramètres sont contravariants.
Permettre une virgule de fin pour les espaces de noms groupés
Une virgule de fin peut maintenant être ajoutée à la syntaxe
d’utilisation groupée introduite en PHP 7.0.
Prise en charge sur Windows de proc_nice()
La fonction proc_nice() est maintenant prise en charge sur Windows.
Prise en charge de endian pour pack() et unpack()
Les fonctions pack() et unpack()
prennent en charge les nombres décimaux et doubles dans les deux Little et
Big endian.
Améliorations de l'extension EXIF
L'extension EXIF a été mise à jour pour prendre en charge une gamme beaucoup
plus large de formats. Cela signifie que ces balises spécifiques au
format sont maintenant correctement traduites lors de l'analyse des images
avec la fonction exif_read_data(). Les nouveaux formats
suivants sont désormais pris en charge :
-
Samsung
-
DJI
-
Panasonic
-
Sony
-
Pentax
-
Minolta
-
Sigma/Foveon
-
AGFA
-
Kyocera
-
Ricoh
-
Epson
Les fonctions EXIF exif_read_data() et
exif_thumbnail() prennent désormais en charge des flux en
tant que premier argument.
Nouvelles fonctionnalités dans PCRE
-
Le modificateur
J
pour définir PCRE_DUPNAMES a été ajouté.
SQLite3 permet l'écriture de BLOBs
SQLite3::openBlob() permet maintenant d'ouvrir des
champs BLOB en mode écriture; auparavant, seul le mode lecture était pris
en charge.
Oracle OCI8 prise en charge du Transparent Application Failover
La prise en charge de la fonction de rappel de Transparent Application Failover (TAF) a été ajouté.
TAF permet aux applications PHP oci8 de se reconnecter automatiquement à
une base de données préconfigurée lorsqu'une connexion est rompue. Le
nouveau support de rappel TAF permet aux applications PHP de surveiller et
de contrôler la reconnexion pendant le basculement.
Améliorations de l'extension ZIP
La prise en charge de la lecture et de l'écriture d'archives chiffrées a été ajoutée (nécessite libzip 1.2.0).
La classe ZipArchive implémente maintenant l'interface Countable.
Le flux zip://
accepte maintenant l'option de contexte 'password'
.