Проблема с переменной областью в PHP - PullRequest
0 голосов
/ 01 ноября 2011

Вот моя ситуация:

Я работаю над проектом PHP, который использует несколько написанных мной функций для работы с внешним XML-документом. Я хочу импортировать один и тот же файл functions.php на множество разных страниц, которые используют один и тот же код. Проблема заключается в том, что путь к XML-файлу не всегда одинаков и часто зависит от представления, отображаемого в данный момент.

Что я пытаюсь сделать, так это объявить $source = 'path-relative-to-view';, на мой взгляд, до того, как я include 'path-to-functions.php';, а затем получить доступ к переменной $ source при необходимости. Таким образом, мне не придется переписывать функции для каждого отдельного каталога, в котором я нахожусь.

Полагаю, это возможно, но, к сожалению, я недостаточно использовал PHP, чтобы знать наверняка.

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

Вы можете использовать глобальную переменную, но не используйте глобальные переменные.

Просто переписайте функции, чтобы указать путь к файлу в качестве одного из их параметров.

Еще одна вещь, которую вы можете сделать, это сгруппировать их внутри класса.Затем используйте переменную-член класса для хранения пути, к которому они все смогут получить доступ.

1 голос
/ 01 ноября 2011

Вам нужно будет объявить $source глобальным в каждой функции, которая будет его использовать.

function abc
{
    global $source;
    //--use $source
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...