Namespace

PHP 🟢 Junior

Definition

Espace de noms qui organise le code en groupes logiques et evite les collisions de noms entre classes. Introduit en PHP 5.3, c'est la base de l'autoloading moderne.

Analogie

Comme les noms de famille : deux personnes peuvent s'appeler Marie, mais Marie Dupont et Marie Martin sont distinctes.

Exemple de code

namespace App\Services;

use App\Models\User;

class UserService {
  public function find(int $id): User {
    return User::findOrFail($id);
  }
}

Cas d'usage

Dans tout projet PHP moderne pour organiser le code et permettre l'autoloading PSR-4 via Composer.

Anti-pattern

Ne pas utiliser de namespace et prefixer manuellement les classes (MyPlugin_User_Service).

Termes lies

#core#interview#php8