# Constructeur

> Méthode spéciale d'une classe PHP, nommée __construct, exécutée automatiquement à la création d'une instance pour initialiser son état de départ.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/constructeur/

Le moment où un objet naît et reçoit ses premiers réglages : c'est exactement le rôle du constructeur, une méthode particulière que PHP appelle automatiquement dès qu'une instance de la classe est créée avec `new`.

## Initialiser proprement un service dans un plugin

Un plugin WordPress orienté objet utilise souvent le constructeur pour recevoir des dépendances externes plutôt que de les recréer à l'intérieur de la classe, une pratique appelée injection de dépendances. Une classe qui gère l'envoi d'e-mails de notification recevra ainsi, par exemple, un service de journalisation directement via son constructeur.

## Exemple

```
class NotificationCommande
{
    public function __construct(
        private Journal $journal,
        private string $adresseExpediteur = 'contact@boutique.fr'
    ) {}

    public function envoyer(string $destinataire): void
    {
        $this->journal->ecrire("Envoi vers $destinataire");
        wp_mail($destinataire, 'Confirmation de commande', 'Merci pour votre achat.');
    }
}
```

La « promotion de propriétés du constructeur », disponible depuis PHP 8, permet ici de déclarer et d'initialiser `$journal` directement dans la signature, sans ligne supplémentaire dans le corps de la méthode.

## Bon à savoir

- Une classe sans constructeur explicite en hérite implicitement un vide ; PHP n'exige jamais d'en écrire un.
- Contrairement à d'autres méthodes, le constructeur ne peut pas retourner de valeur avec `return` autre que rien (void implicite).
- Un constructeur déclaré `private` empêche la création directe d'instances depuis l'extérieur de la classe, une technique utilisée pour forcer le passage par une méthode de fabrique statique.
