Maison >développement back-end >tutoriel php >Nouvelles fonctionnalités PHP8.0 : amélioration des attributs
Fin 2020, la communauté PHP a publié la dernière version de PHP8.0, qui contient de nombreuses nouvelles fonctionnalités et améliorations. L'une des fonctionnalités les plus remarquables est Property Promotion, une fonctionnalité qui simplifie l'écriture de code. Dans cet article, nous examinerons de plus près l’amélioration des attributs et comprendrons ses avantages.
Qu'est-ce que l'amélioration des attributs ?
Le levage de propriétés est une nouvelle syntaxe de programmation qui simplifie la définition des attributs de classe en ajoutant des modificateurs de contrôle d'accès aux déclarations d'attributs de classe. Avant PHP 8.0, chaque propriété devait être définie en haut de la classe et devait inclure sa visibilité et sa valeur par défaut. Cela conduit souvent à une duplication de code, surtout s'il existe de nombreux attributs dans la classe.
Dans le levage de propriété, vous pouvez déclarer une propriété de classe en spécifiant sa valeur par défaut et en précisant sa visibilité. Ce processus suit généralement la syntaxe suivante :
class Car { // PHP 8.0 and above public function __construct( private string $model, private string $year, private string $brand = 'Toyota' ){} // earlier versions of PHP public function __construct( string $model, string $year, string $brand = 'Toyota' ){ $this->model = $model; $this->year = $year; $this->brand = $brand; } }
Dans le code ci-dessus, nous avons défini une classe Car et spécifié trois propriétés de la classe - $model, $year et $brand - via le constructeur. Nous avons utilisé une nouvelle syntaxe pour simplifier les déclarations de propriétés, ce qui rend le code plus facile à écrire et à lire. En fonction des besoins réels de la classe, l'attribut $brand peut éventuellement être défini sur la valeur par défaut « Toyota ».
Avant le levage de propriété, l'utilisation d'une expression de syntaxe plus traditionnelle ressemblerait à ceci :
class Car { //PHP 7 and earlier public $model; public $year; public $brand; public function __construct(string $model, string $year, string $brand='Toyota'){ $this->model = $model; $this->year = $year; $this->brand = $brand; } }
Dans cet exemple, nous avons ajouté un petit code supplémentaire. Nous déclarons d'abord toutes les propriétés de la classe à l'aide du mot-clé public, puis définissons leurs valeurs sur les valeurs transmises dans les paramètres ou sur les valeurs par défaut du constructeur. Dans cet exemple simple, les avantages du levage de propriétés peuvent ne pas sembler évidents, mais cette syntaxe concise peut devenir particulièrement utile lorsque vous travaillez avec des classes plus complexes.
Avantages de l'amélioration des propriétés
La promotion des propriétés élimine le travail de saisie manuelle des attributs de classe, ce qui rend l'ensemble de la base de code plus lisible. Dans les versions antérieures de PHP, la définition de toutes les propriétés en haut de la déclaration de classe était progressivement étendue et maintenue, car cette section avait tendance à s'agrandir à mesure que la classe était utilisée. Désormais, cela élimine le besoin d’écrire du code encore et encore, ce qui nous permet de nous concentrer sur les parties les plus importantes du cours.
En cas de levage de propriété, le type et la valeur par défaut de chaque propriété sont affichés au même endroit. Cela apporte d’énormes améliorations à la lisibilité et à la maintenabilité du code. Parfois, la valeur d'un attribut peut devoir avoir des effets différents à différentes occasions. Dans ce cas, l'utilisation de la promotion d'attribut peut rendre le code plus concis et plus lisible.
L'amélioration des propriétés permet aux développeurs PHP d'écrire du code plus rapidement et réduit le travail répétitif de définition de toutes les propriétés d'une classe. Ceci est très important lorsque vous travaillez avec de grandes quantités de code, car cela libère du temps pour travailler sur des tâches plus importantes.
Conclusion
La promotion des attributs est un changement important introduit dans PHP 8.0, qui est une fonctionnalité très pratique et simplifiée pour les développeurs qui ont besoin de définir un grand nombre de classes. Nous examinons plus en détail l’utilisation et les avantages de l’amélioration des attributs dans cet article. Lorsque nous commençons à utiliser le levage de propriété, nous avons besoin d’un bon outil de gestion de code ou d’un IDE qui puisse nous aider automatiquement.
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!