Maison développement back-end PHP8 Expliquer les nouvelles fonctionnalités de PHP8 avec des exemples

Expliquer les nouvelles fonctionnalités de PHP8 avec des exemples

Dec 02, 2021 pm 02:14 PM
php8

Interprétation et exemples des nouvelles fonctionnalités de PHP8.0

Nouvelle fonction de paramètre nommé

Que sont les paramètres nommés ?
C'est un paramètre nommé Lors de l'appel d'une fonction, vous pouvez spécifier le nom du paramètre après avoir spécifié le paramètre. nom, le paramètre La commande peut être passée dans l'ordre sans installer les paramètres de la fonction d'origine


Exemple :
  <?php      /**
       * 计算余额方法
       * @param $amount 账户金额
       * @param $payment 支出金额
       * @return $balance = $amount-$payment 余额
       */
      function balance($amount, $payment)
      {
          return $amount - $payment;
      }
      //传统方式调用
      balance(100, 20);
      //php8 使用命名参数调用
      balance(amount: 100, payment: 20);
      //也可以换个顺序,这样来
      balance(payment: 20, amount: 100);
Copier après la connexion

Fonction d'annotation

Que sont les annotations ? Allez directement au code, et enfin expliquez

Exemple :
#[Attribute]class PrintSomeThing{
  public function __construct($str = &#39;&#39;)
  {
     echo sprintf("打印字符串 %s \n", $str);
  }}#[PrintSomeThing("hello world")]class AnotherThing{}// 使用反射读取住解$reflectionClass = new ReflectionClass(AnotherThing::class);$attributes = $reflectionClass->getAttributes();foreach($attributes as $attribute) {
  $attribute->newInstance(); //获取注解实例的时候,会输出 ‘打印字符串 Hello world’}
Copier après la connexion

Résumé de compréhension personnelle de la fonction d'annotation L'utilisation d'annotations peut définir des classes en classes de métadonnées avec un faible découplage et une cohésion élevée. Il peut être introduit de manière flexible via des annotations lorsqu'il est utilisé, et l'objectif de l'appel peut être atteint en reflétant des instances de classe annotées.

**La classe annotée ne sera appelée que lorsqu'elle sera instanciée


Promotion de l'attribut du constructeur

Qu'est-ce que cela signifie que la portée du modificateur de l'attribut de classe peut être déclarée dans le constructeur
Exemple ? :

<?php
    // php8之前
    class User
    {
        protected string $name;
        protected int $age;
        public function __construct(string $name, int $age)
        {
            $this->name = $name;
            $this->age = $age;
        }
    }
    //php8写法,
    class User
    {
        public function __construct(
            protected string $name,
            protected int $age
        ) {}
    }
Copier après la connexion

Enregistre la quantité de code, pas besoin de déclarer les attributs de classe séparément.

Union Type

Can peut être utilisé dans des scénarios où le type de paramètre est incertain. = Match

Exemple :
    function printSomeThing(string|int $value)
    {
        var_dump($value);
    }
Copier après la connexion

Nouvel opérateur Nullsafe
<?php$key = &#39;b&#39;;$str = match($key) {
    &#39;a&#39; => 'this a',
    'c' => 'this c',
     0  => 'this 0',
    'b' => 'last b',};echo $str;//输出 last b
Copier après la connexion

Jugement is_null simplifié

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre php5 et php8 Quelle est la différence entre php5 et php8 Sep 25, 2023 pm 01:34 PM

Les différences entre php5 et php8 concernent les performances, la structure du langage, le système de types, la gestion des erreurs, la programmation asynchrone, les fonctions de bibliothèque standard et la sécurité. Introduction détaillée : 1. Amélioration des performances. Par rapport à PHP5, PHP8 présente une énorme amélioration des performances. PHP8 introduit un compilateur JIT, qui peut compiler et optimiser certains codes d'exécution à haute fréquence, améliorant ainsi la vitesse d'exécution. PHP8 introduit de nouvelles structures et fonctions de langage. PHP8 prend en charge les paramètres nommés, permettant aux développeurs de transmettre les noms des paramètres au lieu de l'ordre des paramètres, etc.

Comment ajouter une extension MySQL à PHP8 Comment ajouter une extension MySQL à PHP8 Oct 07, 2023 pm 03:31 PM

Les étapes pour ajouter l'extension MySQL à PHP8 sont : 1. Installez la bibliothèque client MySQL ; 2. Installez les outils de développement pour PHP 8 ; 3. Téléchargez le code source de l'extension MySQL ; 4. Compilez et installez l'extension MySQL ; Extension MySQL ; 6. Redémarrez Juste un serveur Web.

Explication graphique détaillée de la méthode d'installation et de configuration d'Apache2.4+php8.0 Explication graphique détaillée de la méthode d'installation et de configuration d'Apache2.4+php8.0 Dec 06, 2022 pm 04:53 PM

Cet article vous présentera comment installer Apache2.4 et comment configurer php8.0. L'article est accompagné d'images et d'étapes détaillées. Voyons comment installer et configurer Apache2.4+php8.0~.

Comment se connecter à la base de données en php8 Comment se connecter à la base de données en php8 Nov 16, 2023 pm 02:41 PM

PHP8 peut utiliser mysqli et PDO pour se connecter à la base de données. Introduction détaillée : 1. Utilisez mysqli pour vous connecter à la base de données en transmettant le nom du serveur de base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données pour vous connecter. Ensuite, utilisez l'attribut `connect_error` pour vérifier si la connexion réussit et affichez un message d'erreur si la connexion échoue. Enfin, fermez la connexion en appelant la méthode `close()` ; 2. Utilisez PDO pour vous connecter à la base de données, et connectez-vous en passant le nom du serveur de base de données, le mot de passe et le nom de la base de données, etc.

Comment convertir les types de données php8 Comment convertir les types de données php8 Nov 16, 2023 pm 02:51 PM

Les méthodes du type de données php8 incluent la conversion d'une chaîne en entier, la conversion d'un entier en chaîne, la conversion d'une chaîne en nombre à virgule flottante, la conversion d'un nombre à virgule flottante en chaîne, la conversion d'un tableau en chaîne, la conversion d'une chaîne en tableau, la conversion d'une valeur booléenne en entier, la conversion d'un entier en Détermination et conversion de valeurs booléennes et de types de variables. Introduction détaillée : 1. La conversion d'une chaîne en un entier inclut la fonction intval() et la conversion de type forcée (int) ; 2. La conversion d'un entier en chaîne inclut la fonction strval() et la conversion de type forcée (string) ; une chaîne à un flotteur Points et ainsi de suite.

Un examen approfondi de JIT dans PHP 8 Un examen approfondi de JIT dans PHP 8 Apr 25, 2022 pm 08:46 PM

Cet article vous guidera à travers le JIT dans PHP 8 et expliquera comment JIT participe au processus d'interprétation. J'espère qu'il sera utile à tout le monde !

Quelles améliorations de performances apporte php8 ? Quelles améliorations de performances apporte php8 ? Dec 21, 2023 pm 02:44 PM

Les performances améliorées de php8 incluent : 1. Introduction du compilateur JIT ; 2. Optimisation des appels de fonctions ; 3. Amélioration du mécanisme de récupération de place ; 4. Amélioration du système de types ; 6. Optimisation du traitement des chaînes ; . Améliorer le traitement des tableaux ; 8. Introduire un nouveau mécanisme de gestion de la mémoire ; 9. Optimiser la génération de code. Introduction détaillée : 1. L'introduction du compilateur JIT PHP8 introduit le compilateur JIT, qui est une technologie de compilation dynamique qui peut convertir le code PHP en code machine pour une exécution plus efficace ;

Quelles sont les fonctionnalités de php8 ? Quelles sont les fonctionnalités de php8 ? Dec 21, 2023 pm 02:54 PM

Caractéristiques de php8 : 1. Compilateur JIT ; 2. Paramètres nommés ; 3. Types d'union ; 4. Annotations ; Amélioration des attributs du constructeur ; 7. Opérateur nullsafe ; ; 10. Améliorations de la cohérence. Introduction détaillée : 1. Compilateur JIT, PHP8 introduit la technologie de compilation juste à temps, qui compile le code PHP en code machine natif, améliorant ainsi la vitesse d'exécution du programme 2. Paramètres nommés, PHP8 prend en charge les paramètres nommés, permettant l'utilisation de noms de paramètres lors de l’appel de fonctions, etc.

See all articles