Namespace
PHP 🟢 JuniorDefinition
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).