Caractéristiques en PHP

interface php vs classe abstraite
Méthodes statiques en PHP OOP

Dans cet article, vous apprendrez les caractéristiques de PHP.

PHP – Que sont les traits ?

En PHP, vous ne pouvez hériter que d'une seule classe parent. Les traits surmontent cette limitation de PHP et vous permettent d'hériter de plusieurs comportements.

Un trait est une classe qui contient à la fois des méthodes abstraites et non abstraites. Différentes classes peuvent utiliser ces méthodes à leur manière. Les méthodes de trait peuvent être publiques, privées ou protégées par rapport à leurs modificateurs d'accès.

trait mot-clé déclare un trait. Regardez la syntaxe suivante des traits en PHP.

<?php
trait FirstTrait {
  // some code...
}
?>

Pour utiliser un trait dans une classe, utilisé un mot-clé suivi du nom du trait est utilisé. La syntaxe de l'utilisation du trait dans une classe est donnée ci-dessous.

<?php
class ABC {
  use FirstTrait;
}
?>

Exemple de trait en PHP

<?php
trait FirstTrait {
public function message1() {
    echo "PHP is fun! ";
  }
}

class Hello {
  use FirstTrait;
}

$hello = new Hello();
$hello->message1();
?>
  • Dans l'exemple ci-dessus, nous déclarons un trait PremierTrait qui contient une méthode message1.
  • Nous créons notre classe Bonjour qui utilisent le FirstTrait.
  • Maintenant, lorsque nous créons l'objet de notre classe, nous avons toutes les méthodes du trait utilisées par cette classe, comme la méthode message1() dans cet exemple.

Utiliser plusieurs traits dans une classe – PHP

Comme nous l'avons mentionné précédemment, PHP ne prend pas en charge les héritages multiples par lesquels une classe enfant peut hériter de plusieurs classes parent. Cette fonctionnalité manquante de la POO est largement surmontée par les traits. Dans l'exemple suivant, nous appliquerons plusieurs traits dans les classes.

<?php
trait trait1 {
  public function message1() {
    echo "PHPis fun! ";
  }
}

trait Trait2{
  public function message2() {
    echo "Traits avoid redundancy of code!";
  }
}

class Hello {
  use Trait1;
}

class Welcome {
  use Trait2, Trait2;
}

$obj_1 = new Trait1();
$obj_1->message1();

$obj_2 = new Trait2();
$obj_2->message1();
$obj_2->message2();
?>
  • Dans l'exemple ci-dessus, nous créons deux traits nommés Trait1 et Trait 2. Trait1 contient une seule méthode messge1 et le Trait2 contient deux méthodes, message1 et message2.
  • Pour utiliser plusieurs traits dans une classe, séparez chaque trait par une virgule.
  • Maintenant, nous pouvons utiliser un seul de ces traits ou les deux dans nos classes. Tout comme l'impementation que nous avons donnée dans l'examen.

Référence à la documentation officielle PHP 8 des traits.

interface php vs classe abstraite
Méthodes statiques en PHP OOP
en English
X
Remonter en haut