Aller au contenu

final

Le mot-clé « final » en PHP : Guide complet

Le mot-clé « final » est une fonctionnalité de la programmation orientée objet en PHP qui permet de marquer une méthode, une classe ou une propriété comme finale, empêchant ainsi son remplacement ou son extension par les classes enfants. Dans cet article, nous explorerons en profondeur la syntaxe et l'utilisation du mot-clé « final », et fournirons de nombreux exemples pour vous aider à maîtriser cette fonctionnalité PHP essentielle.

Syntaxe

Le mot-clé « final » est utilisé pour marquer une méthode, une classe ou une propriété comme finale. Voici la syntaxe de base pour utiliser le mot-clé « final » en PHP :

Syntaxe PHP de final

php
final class MyClass {
  // code to be executed
}

class MyChildClass extends MyClass {
  // Fatal error: Class MyChildClass may not inherit from final class (MyClass)
}

Dans cet exemple, le mot-clé « final » est utilisé pour marquer une classe comme finale, empêchant ainsi son extension par les classes enfants.

Exemples

Examinons quelques exemples pratiques de l'utilisation du mot-clé « final » :

Exemples de final en PHP

php
<?php

// Example 1
class Fruit
{
  final public function getInfo()
  {
    echo "This is a fruit.";
  }
}

class Apple extends Fruit
{
  // Fatal error: Cannot override final method Fruit::getInfo()
}

// Example 2
class Car
{
  final public $model = "Toyota"; // Requires PHP 8.1+
}

class Toyota extends Car
{
  // Fatal error: Cannot override final property Car::$model
}

Dans ces exemples, nous utilisons le mot-clé « final » pour marquer une méthode ou une propriété comme finale, empêchant ainsi leur remplacement ou leur extension par les classes enfants.

Avantages

L'utilisation du mot-clé « final » présente plusieurs avantages, notamment :

  • Contraintes de conception imposées : Le mot-clé « final » empêche les remplacements non intentionnels, garantissant un comportement cohérent dans les sous-classes.
  • Comportement prévisible : Il garantit que les méthodes ou propriétés critiques ne peuvent pas être modifiées par les classes enfants, préservant ainsi le contrat de classe prévu.

Conclusion

En conclusion, le mot-clé « final » est un outil puissant pour les développeurs PHP utilisant la programmation orientée objet. Il vous permet de marquer une méthode, une classe ou une propriété comme finale, empêchant ainsi son remplacement ou son extension par les classes enfants, ce qui impose des contraintes de conception et garantit un comportement prévisible. Nous espérons que ce guide complet vous a été utile, et nous vous souhaitons bonne chance dans la poursuite de votre développement des compétences PHP.

Pratique

Que signifie le mot-clé 'final' en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.