Attributes
PHP 🟡 MidDefinition
Metadonnees structurees ajoutees au code via #[...], introduites en PHP 8.0. Remplacent les annotations en commentaires par une syntaxe native.
Analogie
Comme des etiquettes collees sur des boites : elles decrivent le contenu sans le modifier.
Exemple de code
#[Route('/api/users', methods: ['GET'])]
class UserController {
#[Cache(ttl: 3600)]
public function list(): Response {
// ...
}
}
Cas d'usage
Pour la configuration declarative : routes, validation, serialisation, ORM mapping.
Anti-pattern
Surcharger les classes d'attributs au point de rendre le code illisible.