Maison > titres > le corps du texte

PHP 7.4.0 vient de sortir ! Voyons quelles sont les nouvelles fonctionnalités

藏色散人
Libérer: 2019-12-07 18:02:21
avant
5371 Les gens l'ont consulté

PHP 7.4.0 a été publié, marquant la quatrième mise à jour de fonctionnalités de la série PHP 7.

PHP 7.4.0 est livré avec de nombreuses améliorations et apporte quelques nouvelles fonctionnalités, notamment :

1.Propriétés typées Attributs de type

les attributs de classe prennent désormais en charge les déclarations de type. L'exemple suivant forcera $User-> à se voir attribuer uniquement des valeurs int et $User->

<?php
class User {
    public int $id;
    public string $name;
}
?>
Copier après la connexion

2.Fonctions fléchéesFonctions fléchées

Les fonctions fléchées fournissent un moyen de définir des fonctions implicites par valeur Raccourci syntaxe pour les fonctions liées au domaine.

<?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

Les fermetures peuvent être extrêmement utiles lors de leur transmission à des fonctions comme array_map ou array_filter.

// A collection of Post objects $posts = [/* … */];
$ids = array_map(fn($post) => $post->id, $posts);
Copier après la connexion

3.Covariance de type de retour limité et contravariance de type d'argument Covariance de type de retour limité et contravariance de type de paramètre

Complet La prise en charge des covariances/contravariances n'est fournie 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, puisque toutes les classes doivent être disponibles avant d'être référencées.

<?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

4.Déballage à l'intérieur des tableaux Emballage des tableaux internes

<?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

5.Littéral numérique Séparateur Séparateur littéral numérique

Les littéraux numériques peuvent contenir 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

6.Références faiblesRéférences faibles

Les références faibles permettent aux programmeurs de conserver des références à des objets sans empêchera le l'objet d'être détruit.

7.Autoriser les exceptions de __toString()Autoriser la levée d'exceptions à partir de __toString()

Autoriser maintenant les exceptions from __toString() __toString() lève une exception, qui entraînait auparavant une erreur fatale. Les erreurs fatales récupérables existantes lors de la conversion de chaîne ont été converties en exceptions d'erreur.

8.Préchargement d'Opcache Préchargement d'Opcache

Ajout de la prise en charge du préchargement d'Opcache.

De plus, il existe certaines dépréciations et certaines extensions sont supprimées du noyau. Pour plus de détails, voir :

https://www.php.net

https : //www.php.net/manual/zh/migration74.new-features.php

Étiquettes associées:
php
source:oschina.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