Attributes PHP 8

Gli Attributes (PHP 8+) aggiungono metadati alle dichiarazioni.

Definire un Attribute

#[Attribute]
class Route {
    public function __construct(
        public string $path,
        public string $method = "GET"
    ) {}
}

Usare Attributes

class UserController {
    #[Route("/users", "GET")]
    public function index() {
        return User::all();
    }
    
    #[Route("/users/{id}", "GET")]
    public function show(int $id) {
        return User::find($id);
    }
}

Leggere Attributes con Reflection

$reflection = new ReflectionMethod(UserController::class, "index");
$attributes = $reflection->getAttributes(Route::class);

foreach ($attributes as $attr) {
    $route = $attr->newInstance();
    echo $route->path; // "/users"
}

Hai trovato utile quest'articolo?

  • Introduzione a PHP

    PHP (PHP: Hypertext Preprocessor) è un linguaggio di scripting server-side usato per lo sviluppo web...
  • Variabili PHP

    Le variabili in PHP iniziano sempre con il simbolo dollaro $.Dichiarazione$nome = "Mario"; $eta = 30...
  • Stringhe in PHP

    Le stringhe sono sequenze di caratteri racchiuse tra virgolette.Virgolette singole vs doppie$nome = ...
  • Array in PHP

    Gli array permettono di memorizzare più valori in una singola variabile.Array indicizzati$frutti = [...
  • Operatori PHP

    Gli operatori PHP permettono di eseguire operazioni su variabili e valori.Operatori aritmetici$a + $...