Ce face get_defined_vars
Într-o funcție, get_defined_vars returnează parametrii și variabilele locale. În afara funcțiilor, returnează variabilele globale, inclusiv cele speciale ($_GET, $_POST, $_SERVER…).
Este util la depanare sau în motoare de șabloane simple, unde variabilele unei funcții sunt trimise către un fișier de afișare.
Ce returnează
Un tablou asociativ cu variabilele.
Exemple
Exemplul 1: Variabilele dintr-o funcție
<?php
function factura(string $client, float $total): array
{
$tva = $total * 0.21;
$serie = "DEX";
return get_defined_vars();
}
print_r(factura("Ana", 100));
Rezultat
Array
(
[client] => Ana
[total] => 100
[tva] => 21
[serie] => DEX
)
Exemplul 2: Șablon simplu cu variabilele funcției
<?php
function randeaza(string $sablon, array $variabile): string
{
return preg_replace_callback("/\{(\w+)\}/", fn($m) => $variabile[$m[1]] ?? $m[0], $sablon);
}
function emailConfirmare(): string
{
$nume = "Ioana";
$comanda = 1024;
return randeaza("Salut, {nume}! Comanda {comanda} a fost primită.", get_defined_vars());
}
echo emailConfirmare();
Rezultat
Salut, Ioana! Comanda 1024 a fost primită.
Greșeli frecvente
- Afișezi
get_defined_vars()la nivel global pe o pagină publică. Rezultatul conține și$_SERVER, cu căi și setări ale serverului.
Comenzi înrudite
global / $GLOBALS: Face vizibilă într-o funcție o variabilă definită în afara oricărei funcții.get_defined_constants: Returnează toate constantele definite, opțional grupate după extensia din care vin.print_r: Afișează conținutul unui tablou sau obiect într-o formă ușor de citit.