Раньше у меня была эта проблема без реального разрешения. Это происходит снова, поэтому я надеюсь, что вам помогут эксперты.
Я устанавливаю переменную на моем index.php на основе массива $ _GET. Поэтому я использую этот код:
$admin = isset($_GET['admin']) ? $_GET['admin'] : "dashboard";
Ниже я использую функцию для включения моего макета:
include_layout("admin_header.php");
который вызывает эту функцию:
function include_layout($template="") { include(SITE_ROOT.DS.'layouts'.DS.$template); }
Пока, так хорошо, все работает. Но если я попытаюсь повторить переменную $ admin из файла admin_header.php, я ничего не получаю. Это похоже на то, что он не установлен. Я даже тестирую его, используя echo $admin;
прямо перед тем, как включать заголовочный файл, и он выводится там, но он не задан с точки зрения файла admin_header.php.
Почему это произойдет? Это как-то связано с использованием функции для включения, а не для ее непосредственного включения? И если так, ПОЧЕМУ это имеет значение?