Мои файлы PhP содержат некоторые длинные строковые константы, и я пытаюсь их исключить. Поэтому я создал «my_string_constants.php» и использовал include
в header.php
. Пока это прекрасно работает.Включить php-файл, содержащий другой файл php?
Теперь другой файл, page.php
также требует строка констант иheader.php
. Нижеприведенная схема пытается разъяснить эти зависимости.
строковые константы, теперь, кажется, доступны в моем только заголовок, а не остальной части моей страницы. Я попытался разрешить это, добавив global ...
к каждой строковой константе в string_constants.php
. Это разрешило ошибку «Неизвестная переменная», но мои строковые константы по-прежнему недоступны для большей части содержимого страницы.
Каков правильный способ заставить это работать?
UPDATE
Проблема была решена. Я должен был использовать define(myString
вместо $myString = ...
. Таким образом, мне нужен только один include
в header.php
, а константы будут доступны и для page.php
.
Спасибо, миллион, вы, ребята, здорово.
Ваша установка неясна. Вы включаете или требуете файл один раз в верхнем большинстве файлов, если вам нужно сделать это явным образом. 'page.php' и' header.php' не могут _both_ быть самым большим файлом, вызванным в запросе. Если вам действительно нужно включить файл в оба, используйте 'ìnclude_once()' или 'require_once()'. – arkascha
if 'page.php' нуждается в' header' и 'constants', но' header' уже имеет 'константы' ... тогда' page.php' нужен только 'header' –
@mistermartin Я пробовал это, но он вызывает ошибку : 'Примечание: неопределенная переменная: re_afornone_ov в C: \ xampp \ htdocs \ t \ wp-content \ themes \ c \ home_page.php' Строковые константы доступны для 'header.php', но не' homepage.php', но они оба нуждаются в них. – RubenGeert