Maison >développement back-end >PHP7 >Présentation des nouvelles fonctionnalités de php7.3 à php7.4

Présentation des nouvelles fonctionnalités de php7.3 à php7.4

coldplay.xixi
coldplay.xixiavant
2021-04-02 09:39:403277parcourir

Présentation des nouvelles fonctionnalités de php7.3 à php7.4

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[&#39;key&#39;] ??= computeDefault();
// is roughly equivalent to
if (!isset($array[&#39;key&#39;])) {
    $array[&#39;key&#39;] = computeDefault();
}
?>

5. la traduction consiste à décompresser l'intérieur du tableau. Voyez si cela est faux, utilisez d'abord l'anglais)

<?php
$parts = [&#39;apple&#39;, &#39;pear&#39;];
$fruits = [&#39;banana&#39;, &#39;orange&#39;, ...$parts, &#39;watermelon&#39;];
// [&#39;banana&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;watermelon&#39;];
?>

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer