PHP: Alternativa a import_request_variables

La funzione import_request_variables è deprecata dalla versione 5.3 di PHP ed è stata eliminata dalla versione 5.4.
Questa funzione può essere pericolosa, ma nel caso di trasferimenti di vecchi siti su server con versioni più aggiornate di PHP potrebbe essere necessario sostituirla per non incorrere in errori.
Un’alternativa a import_request_variables è la funzione extract, anche se aggiungere un trattino basso al prefisso.
Ecco alcuni esempi di utilizzo:
// Importare tutte le variabili $_GET con prefisso "var_"
import_request_variables('g', 'var_'); // Versione originaria
extract($_GET, EXTR_PREFIX_ALL|EXTR_REFS, 'var'); // Nuova versione

// Importare tutte le variabili $_POST con prefisso "var_"
import_request_variables('p', 'var_'); // Versione originaria
extract($_POST, EXTR_PREFIX_ALL|EXTR_REFS, 'var'); // Nuova versione

// Importare tutte le variabili $_GET e $_POST con prefisso "var_"
import_request_variables('gp', 'var_'); // Versione originaria
extract($_REQUEST, EXTR_PREFIX_ALL|EXTR_REFS, 'var'); // Nuova versione


Se, invece, il prefisso delle variabili non include il trattino basso, è possibile eseguire un semplice ciclo per sostituire la funzione import_request_variables.
Ecco alcuni esempi di utilizzo:
// Importare tutte le variabili $_GET con prefisso "var"
import_request_variables('g', 'var'); // Versione originaria
foreach ($_GET as $k => $v) { // Nuova versione
	$var = 'var'.$k;
	$$var = $v;
}

// Importare tutte le variabili $_POST con prefisso "var_"
import_request_variables('p', 'var_'); // Versione originaria
foreach ($_POST as $k => $v) { // Nuova versione
	$var = 'var'.$k;
	$$var = $v;
}

// Importare tutte le variabili $_GET e $_POST con prefisso "var_"
import_request_variables('gp', 'var_'); // Versione originaria
foreach ($_REQUEST as $k => $v) { // Nuova versione
	$var = 'var'.$k;
	$$var = $v;
}

Guida scritta da il 17/11/2015.

Le ultime guide della categoria PHP:

comments powered by Disqus