Salta al contenuto principale
PHP

PHP Attributes: Metaprogramming Moderno

Scopri come usare gli Attributes di PHP 8 per aggiungere metadata al tuo codice.

Giovanni D'Ippolito
1 min

Autore

Giovanni D'Ippolito

Pubblicato

25 November 2025

Tempo di lettura

1 minuti

Tags

#PHP 8 #Attributes #Metaprogramming

Cosa Sono gli Attributes?

Gli Attributes (introdotti in PHP 8) permettono di aggiungere metadata strutturati a classi, metodi, proprietà e parametri.

Creare un Attribute

<?php
#[\Attribute]
class Route
{
    public function __construct(
        public string $path,
        public string $method = 'GET',
        public array $middleware = []
    ) {}
}

// Utilizzo
class UserController
{
    #[Route('/users', 'GET')]
    public function index() {}

    #[Route('/users/{id}', 'GET')]
    public function show(int $id) {}

    #[Route('/users', 'POST', ['auth', 'admin'])]
    public function store() {}
}
?>

Leggere gli Attributes

<?php
// Reflection per leggere attributes
$reflection = new \ReflectionClass(UserController::class);

foreach ($reflection->getMethods() as $method) {
    $attributes = $method->getAttributes(Route::class);

    foreach ($attributes as $attribute) {
        $route = $attribute->newInstance();

        echo "Route: {$route->method} {$route->path}\n";
        echo "Middleware: " . implode(', ', $route->middleware) . "\n";
    }
}
?>
Gli Attributes sono perfetti per routing, validation, caching e dependency injection!

Condividi questo articolo

Articoli Correlati

PHP

Guida Completa alle Funzioni Arrow in PHP 8

Scopri come le arrow functions di PHP 8 possono semplificare il tuo codice e renderlo più leggibile.

01 Nov 2025 2 min
Leggi di più →
PHP

PHP 8.2: Readonly Classes e Type System Migliorato

Esplora le nuove funzionalità di PHP 8.2 che rendono il codice più sicuro e manutenibile.

09 Nov 2025 2 min
Leggi di più →
PHP

PHP Enums: Type-Safe Constants per il Tuo Codice

Scopri come usare gli Enums di PHP 8.1 per rendere il tuo codice più sicuro e espressivo.

17 Nov 2025 3 min
Leggi di più →

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere gli ultimi articoli e novità direttamente nella tua casella di posta.