Я использую ту же константу во всех моих php-файлах. Я не хочу назначать значение этой переменной во всех моих файлах. Итак, я хотел создать один файл «parameters.php» и выполнить там задание. Затем во всех других файлах я include
параметр «parameters.php» и использую переменные, определенные в «parameters.php».
Это была идея, но она не работает. Я также попытался сделать переменную global
. Он также не работает. Есть ли способ сделать то, что я хочу? Или может быть какой-то альтернативный подход?
Именно так оно и работает.
У вас есть настройка отчетов об ошибках, и есть ли что-нибудь в журнале ошибок? Я предполагаю, что включение не работает, но вы не видите ошибку.
Я предполагаю, что вы пытаетесь использовать глобальные переменные внутри тела функции. Переменные, определенные таким образом, недоступны в функциях без глобального объявления в функции .
Например:
$foo = 'bar'; function printFoo() { echo "Foo is '$foo'"; //prints: Foo is '', gives warning about undefined variable }
Существуют две альтернативы:
function printFoo() { global $foo; echo "Foo is '$foo'"; //prints: Foo is 'bar' }
ИЛИ:
function printFoo() { echo "Foo is '" . $GLOBALS['foo'] . "'"; //prints: Foo is 'bar' }
Другой вариант, как упоминает Finbarr , заключается в определении константы:
define('FOO', 'bar'); function printFoo() { echo "Foo is '" . FOO . "'"; //prints: Foo is 'bar' }
Определение имеет то преимущество, что константу нельзя перезаписать позже.
См. Определение PHP: http://php.net/manual/en/function.define.php
define("CONSTANT_NAME", "Constant value");
Доступ к коду с CONSTANT_NAME
. Если значения постоянны, вы, безусловно, лучше всего использовать функцию define
а не просто переменные – это гарантирует, что вы случайно не перезапишете переменные константы.
Все ваши страницы начинаются в одном файле, который определяет параметры, а затем отправляется на соответствующие вспомогательные страницы. Таким образом, переменные, определенные в первом файле, будут существовать во всех включенных страницах.