Maison > titres > le corps du texte

PHP7.4 nouvelles fonctionnalités et fonctions obsolètes (résumé)

藏色散人
Libérer: 2019-12-26 14:48:37
avant
5362 Les gens l'ont consulté

PHP7.4 nouvelles fonctionnalités et fonctions obsolètes (résumé)

Résumé des fonctionnalités nouvelles et obsolètes de PHP7.4

Nouvelles fonctionnalités de PHP7.4

PHP7.4 est sorti le 28 du mois dernier. Apporté quelques nouvelles fonctionnalités. Cela nous permet d'écrire moins de code.

1. Ajouter un type qualifié aux attributs

<?php
class User {
  public int $age;
  public string $name
}  
$user = new User();
$user->age = 10;
$user->name = "张三";
//error
$user->age = "zhang";//需要传递int
Copier après la connexion

2. Fonction flèche

Cette fonctionnalité fait essentiellement référence à la syntaxe d'ES6 dans Js. Cela nous permet d'écrire moins de code. Si votre code a la fonction fn. Peut entrer en conflit

<?php
$factor = 10;
$nums = array_map(fn($n)=>$n * $factor,[1,2,3]);//[10,20,30]
//之前的写法
$nums = array_map(function($num)use($factor){
  return $num * $factor;
},[1,2,3])
Copier après la connexion

3. Covariance de type de retour limitée et contravariance de type de paramètre

La prise en charge complète de la covariance/contravariance 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 du tableau

Utilisez l'opérateur spread... pour décompresser le tableau. Cette fonctionnalité devrait être absorbée par js. Voir l'exemple

<?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;];
//老的写法
$fruits = array_merge([&#39;banana&#39;, &#39;orange&#39;],$parts,[&#39;watermelon&#39;]);
Copier après la connexion

5. Affectation d'un opérateur de fusion nul

<?php
$array[&#39;key&#39;] ??= computeDefault();
// 老的写法
if (!isset($array[&#39;key&#39;])) {
    $array[&#39;key&#39;] = computeDefault();
}
?>
Copier après la connexion

6 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

7. Autoriser la levée d'exceptions depuis __toString()

Permet désormais la levée d'exceptions depuis __toString(). Dans le passé, cela provoquait une erreur fatale existante récupérable lors de la conversion de chaîne. Les erreurs fatales ont été converties en exceptions d'erreur.

8. Filtre

Ajout de FILTER_VALIDATE_FLOAT

<?php
  filter_var(1.00,FILTER_VALIDATE_FLOAT);
filter.filters.validate
Copier après la connexion

9. strip_tags prend en charge les tableaux

<?php
  strip_tags($str,[&#39;p&#39;,&#39;a&#39;,&#39;div&#39;]);
//老的写法
strip_tags($str,"<p><a><div>");
Copier après la connexion

Fonction obsolète

1. Opérateur ternaire imbriqué sans parenthèses explicites

<?php
1 ? 2 : 3 ? 4 : 5;   // deprecated
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>
Copier après la connexion

Lors de l'entretien, je n'ai finalement pas à me soucier de vous demander quel est le résultat. En fait, en production, tout le monde n’écrit pas comme ça.

2. Accédez à l'index du tableau en utilisant des accolades

<?php
$arr = ["a"=>"111"];
$index = "a";
$arr{$index}//废弃
$arr[$index];
Copier après la connexion

Pour être honnête, c'est la première fois que je le vois, donc il est supprimé, ce qui signifie que personne ne l'utilisera de cette façon. .

3. Nombres réels réels et is_real

<?php
  $num = "";
  $a = (real) $num;//废弃
$a = (float) $num;
Copier après la connexion

4. Le mot-clé parent est utilisé dans une classe sans parent

L'utilisation de parent dans une classe sans parent entraînera une compilation. erreur.

<?php
  class Test{
  public function index() 
  {
    return parent::index();//编译错误
  }
}
Copier après la connexion

5. La fonction money_format

money_format est obsolète et remplacée par numberFormater

6 Extensions supprimées

1.Firebird/Interbase

2.Recoder

3.WDDX

Étiquettes associées:
source:learnku.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!