Вопрос

Вероятно, на этот вопрос должен быть простой ответ, который я просто не могу понять.

В любом случае, у меня есть документ PHP, и внутри него я определяю <?php $pathprefix = '../'; ?>

Далее в документе я использую <?php require([somefile.php]); ?> и внутри somefile.php у меня есть строка, в которой говорится <?php echo($pathprefix); ?> но '../', который я присвоил $pathprefix, никогда не появляется.Он действует так, как будто переменная никогда не создавалась.В чем моя проблема?

Это было полезно?

Решение

Действительно нужно увидеть ваш исходный код, чтобы определить область применения.Учитывая то, что вы предоставили, есть два варианта:

Устанавливается в $GLOBALS

файл1.php:

$GLOBALS['pathprefix']= '../';

файл2.php:

require('file1.php');
print_r($GLOBALS['pathprefix']);

Используйте класс

файл1.php:

class Settings {
 const PATH_PREFIX= '../';
}

файл2.php:

require('file1.php');
print_r(Settings::PATH_PREFIX);

Понимание области действия в PHP

http://www.php.net/manual/en/language.variables.scope.php

Удачи.

Другие советы

Переменная находится вне области действия в " somefile.php " ;. Вы можете объявить переменную глобальной, то есть global $pathprefix = '../'. Затем в somefile.php поместите global $pathprefix; вверху.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top