La transmission de variables aux fichiers PHP inclus à l'aide de méthodes courantes est devenue problématique après une mise à jour de la version PHP. La variable, en particulier $_SERVER['PHP_SELF'], doit être définie dans le fichier appelant et accessible par le fichier inclus.
Malgré la notion communément admise selon laquelle il faut des mesures pour transmettre des variables aux fichiers inclus, le comportement inhérent de PHP permet aux variables déclarées avant les instructions d'inclusion d'être disponibles dans les fichiers inclus.
Cependant, transmettre des variables aux fonctions qui utilisent des instructions d'inclusion en interne nécessite une technique appelée extract().
Considérez l'extrait de code suivant :
<code class="php">function includeWithVariables($filePath, $variables = array(), $print = true) { // Extract the variables to a local namespace extract($variables); // Start output buffering ob_start(); // Include the template file include $filePath; // End buffering and return its contents $output = ob_get_clean(); if (!$print) { return $output; } echo $output; }</code>
Cette fonction prend un chemin de fichier d'inclusion, un tableau facultatif de variables et un indicateur d'impression.
index.php:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!