Cela faisait longtemps, mais nous avons enfin une nouvelle version de PHP. Il offre quelques nouvelles fonctionnalités et améliorations intéressantes, tandis que d'autres fonctionnalités ont été supprimées ou marquées comme obsolètes..
Regardons de plus près tout ce que propose la dernière version.
Dans cette partie, je vais énumérer les modifications incompatibles antérieures. Cependant, la plupart de votre code PHP5 fonctionnera en PHP 5.6 sans aucune modification..
Selon la spécification JSON, json_decode ()
éliminera immédiatement toutes les variantes non majuscules des littéraux JSON comme true, false et null. Il va également définir json_last_error ()
en conséquence.
Si vous n'êtes pas sûr de ce qu'est GNU Multiple Precision (GMP) en PHP, alors je vous conseillerais de consulter cet article sur PHP.net. En PHP 5.6, les ressources GMP sont des objets. Vous n'avez pas besoin de modifier votre code existant, sauf si vous vérifiez explicitement une ressource en utilisant is_resource ()
.
Toutes les fonctions Mcrypt qui attendent des clés et des IV n’acceptent pas les clés ou les IV de taille incorrecte. Ces fonctions incluent mcrypt_encrypt ()
, mcrypt_decrypt ()
, mcrypt_cbc ()
, mcrypt_cfb ()
, mcrypt_ecb ()
, mcrypt_generic ()
, et mcrypt_ofb ()
.
Avant PHP 5.6, lorsque vous déclariez un tableau dans une propriété de classe avec des clés explicites et implicites, la valeur du tableau était remplacée silencieusement lorsque la clé explicite était identique à une clé implicite séquentielle..
classe helloWorld const ONE = 1; public $ array = [self :: ONE => 'Eclipse', 'Sublime', 'PHPStorm',]; $ hello = new helloWorld (); print_r ($ hello); // Avant le tableau PHP 5.6 ('Sublime', 'PHPStorm') // Tableau PHP 5.6 ('Eclipse', 'Sublime', 'PHPStorm')
Avec la version 5.6 de PHP, il est possible de fournir une expression scalaire qui inclut à la fois des littéraux numériques et des chaînes. Dans les versions précédentes de PHP, il était censé être une valeur statique d'arguments de fonction constante et de déclaration de propriété.
const ONE = 1; // Expression scalaire en constante const TWO = ONE * 2; class helloWorld // Expression scalaire dans la propriété const THREE = TWO + 1; // Expression scalaire dans les méthodes public hello f ($ a = ONE + self :: THREE) return $ a; echo (nouveau helloWorld) -> hello (). "\ n";
Plus tôt nous utilisions func_get_args ()
pour obtenir tous les arguments disponibles dans un appel de fonction, mais avec PHP 5.6, ceci peut être supprimé car nous pouvons facilement obtenir cette installation avec le …
opérateur.
function mesOutils ($ name,… $ tools) echo "Nom:". $ name. '
'; echo "Mon nombre d'outils:". compter (outils); mesOutils ('Avinash', 'Eclipse'); // Sortie: // Nom: Avinash // Nombre d'outils: 1 myTools ('Avinash', 'Eclipse', 'Sublime'); // Sortie: // Nom: Avinash // Nombre d'outils: 2 myTools ('Avinash', 'Eclipse', 'Sublime', 'PHPStorm'); // Sortie: // Nom: Avinash // Mon nombre d'outils: 3
Nous pouvons utiliser le même opérateur (…
) pour décompresser tout argument qui est soit un tableau, soit un ensemble d'objets traversables.
function mesOutils ($ nom, $ outil1, $ outil2, $ outil3) echo "Nom:". $ name. '
'; echo "Tool1:", $ tool1. '
'; echo "Tool2:", $ tool2. '
'; echo "Tool3:", $ tool3; $ myTools = ['Eclipse', 'Sublime', 'PHPStorm']; mesOutils ('Avinash',… $ mesOutils); // Sortie: // Nom: Avinash // Tool1: Eclipse // Tool1: Sublime // Tool1: PHPStorm
le **
l'opérateur a été ajouté pour l'exponentiation. Nous avons un soutien pour l'opérateur sténographie aussi facilement.
écho 2 ** 3; écho "
"; $ a = 2; $ a ** = 3; echo $ a; // Sortie // 8 // 8
Notez que l'ordre des opérations entre en jeu à l'aide de cet opérateur. Veuillez regarder l'exemple suivant pour une compréhension claire:
écho 2 ** 2 ** 4;
Vous pouvez vous attendre à ce qu'il renvoie 256 comme le groupement serait comme (2 ** 2) ** 4
, mais ce n'est pas le cas ici. Le résultat réel serait de 65 536, car le groupe serait de droite à gauche et il analysera comme 2 ** (2 ** 4)
.
Un débogueur interactif appelé phpdbg a été ajouté à PHP 5.6. S'il vous plaît visitez le document officiel pour phpdbg.
Ce débogueur phpdbg est implémenté en tant que module SAPI.
Une nouvelle méthode magique ajoutée à PHP 5.6 vous permet de modifier les propriétés et les valeurs d’un objet lorsque celui-ci est généré à l’aide de var_dump ()
.
class demoDebugInfo () private $ val; fonction publique __construct ($ val) $ this-> val = $ val; fonction publique __debuginfo () return ['iamchanged' => $ this-> val + 3; ]; $ debugInfo = new demoDebugInfo (50); // Nous allons obtenir un tableau modifié qui est renvoyé par la méthode mégic __debuginfo. var_dump ($ debugInfo);
Le jeu de caractères par défaut pour le htmlentities ()
, html_entity_decode ()
et htmlspecialchars ()
les fonctions peuvent être définies avec default_charset ().
Il est possible de télécharger un fichier de plus de 2 Go..
php: // input peut être utilisé autant de fois que vous voulez lire des données. Cette fonctionnalité offre une réduction importante de la mémoire par rapport à la lecture POSTER
Les données.
le utilisation
opérateur a été proposé pour supporter l’extension de constantes et de fonctions. Ceci peut être effectué en utilisant le const
et le utilisation
fonctions, respectivement. Auparavant, cet opérateur était limité à la classe.
Lorsque vous tentez d'accéder à une méthode non statique ou à une méthode statique à l'aide d'un contexte d'objet, elle génère immédiatement le E_DEPRECATED
Erreur.
class helloWorld () public static hiWorld () $ hello = new helloWorld (); $ hello-> hiWorld (); // Avant l'erreur PHP 5.6 E_STRICT // Depuis l'erreur PHP 5.6 E_DEPRECATED
$ HTTP_RAW_POST_DATA
est obsolète maintenant. Nous devrions utiliser php: // entrée
au lieu.
Avec le lancement du default_charset ()
configuration, l’option associée est déconseillée pour iconv
et mbstring
.
Une liste de toutes les fonctions modifiées dans PHP 5.6 peut être trouvée dans le dernier manuel PHP.
Une liste de toutes les nouvelles fonctions de PHP 5.6 peut être trouvée dans cette section du manuel PHP.
Alors que l'équipe de PHP travaille sur la prochaine version de PHP, je dirais que PHP 5.6 est livré avec de nombreuses améliorations et ajouts de fonctionnalités, et qu'il offre l'une des mises à niveau les plus faciles des versions précédentes..
N'oubliez pas de nous faire part de vos questions ou commentaires dans le flux ci-dessous..