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
Libérer: 2023-02-17 21:28:01
avant
3240 Les gens l'ont consulté

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;
}
?>
Copier après la connexion

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);
?>
Copier après la connexion

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 {}
}
?>
Copier après la connexion
.

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();
}
?>
Copier après la connexion

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;];
?>
Copier après la connexion

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
?>
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal