1. Les attributs d'objet prennent désormais en charge la déclaration de type
<?php class User { public int $id; public string $name; } ?>
Dans l'exemple ci-dessus, $id sera forcé d'être converti en type entier et $name
en chaîne. tapez
Recommandé (gratuit) : PHP7
2. Fonction flèche
Maintenant, la fonction flèche fournira une syntaxe courte Pour définir des fonctions dont la déclaration de valeur dans la portée n'est pas claire
<?php $factor = 10; $nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]); // $nums = array(10, 20, 30, 40); ?>
3. Covariance de type de retour limitée et covariance de type de paramètre (Google Translate)
Le code suivant s'exécutera
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>
La prise en charge complète des différences n'est disponible que lors de l'utilisation du chargement automatique. Au sein d'un même fichier, seules les références de type non cycliques peuvent être utilisées car toutes les classes doivent être disponibles avant d'être référencées
4. Opérateur d'affectation de fusion nulle
<?php $array['key'] ??= computeDefault(); // is roughly equivalent to if (!isset($array['key'])) { $array['key'] = computeDefault(); } ?>
5. la traduction consiste à décompresser l'intérieur du tableau. Voyez si cela est faux, utilisez d'abord l'anglais)
<?php $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; ?>
6. Séparateur de caractères numériques
Les caractères numériques peuvent inclure des traits de soulignement entre les nombres.
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>
7. Références faibles
Les références faibles permettent au programmeur de conserver une référence à un objet dont on ne peut empêcher la destruction n'empêche pas la destruction de l'objet.)
8. Autoriser __toString()
exceptions
peut désormais lancer des exceptions via __toString()
, ce qui provoquerait une erreur fatale dans les versions précédentes, les erreurs fatales existantes dans la conversion de chaîne ont été converties pour lancer des exceptions.
Nous lirons le reste de l'extension plus tard
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!