Я понимаю концепцию глобальных переменных в PHP и понимаю плюсы и минусы использования глобальных переменных.Тем не менее, я решил использовать их, но сталкиваюсь с проблемами, касающимися их масштаба и видимости.
Ситуация:
В зависимости от выбора загружаемого менюразные PHP в div.PHP требуют одного и того же общего набора данных, который я хочу избегать повторной загрузки и сохранения в памяти для каждого PHP.В приведенном ниже примере GlobalVars.php
будет храниться в памяти дважды, а также будет извлекать данные из базы данных дважды.
Проблема в том, что, загружая их в div, они не разделяют область действия main.html
.Глобальные переменные в GlobalVars.php
можно увидеть и получить к ним доступ с помощью кода в another.php
, но не в PHP1.php
или PHP2.php
.
GlobalVars.php:
<?php
$var1 = "*";
$var2 = 5;
// Various SQL fetches
?>
Main.html:
<?php require_once="./GlobalVars.php"; ?>
<?php require_once="./another.php"; ?>
<script>
function LoadHTML(href) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", href, false);
xmlhttp.send();
return xmlhttp.responseText;
}
switch(menuitem) {
case 0: break;
case 1: document.getElementById("contentdiv").innerHTML=LoadHTML("./PHP1.php") break;
case 2: document.getElementById("contentdiv").innerHTML=LoadHTML("./PHP2.php") break; break;
case 3: break;
default:
}
</script>
PHP1.html:
<?php
require_once="./GlobalVars.php";
// code ...
?>
PHP2.html:
<?php
require_once="./GlobalVars.php";
// code ...
?>
Вопрос в том, как загрузитьPHP в div и «видеть» и работать с переменными в области main.html
?
С уважением
Карстен