Хочу спросить следующее. Искал ответ на этот вопрос, но не нашел конкретного ответа. Можно ли определять свои переменные в $_SERVER[]. То есть хотелось бы сделать файл конфигурации, чтобы его переменные можно было бы вставить в любую функцию. Что-то вроде этого configuration.php Код (Text): <?php $_SERVER['GEDB_PARAM_1'] = 'param1'; $_SERVER['GEDB_PARAM_2'] = 'param2'; $_SERVER['GEDB_PARAM_3'] = 'param3'; Если нет, то как можно еще сделать? register_globals включать не буду. Заранее спасибо.
Наверное автор хотел сказать "практикуется ли такое?". Возможно напрямую в $_SERVER и не принято присваивать, но в него попадают параметры из httpd.conf и это используется: http://stackoverflow.com/questions/5448943/setenv-applicati ... -framework
Да именно это и хотел узнать, спасибо! Добавлено спустя 1 минуту 15 секунд: Ну ясно понятно, что присвоится значение, а вот этично ли такое действие.
для когото этично, для когото нет. если вас не напрягает то что этот суперглобальный массив создан совсем для другого - то пользуйтесь. напрягает - делайте типа Реестра (Registry) или чтото подобное. функция тоже глобальна. можно через нее писать/читать параметры, а хранить внутри в статике... вариантом много. выбирайте то что соответсвует вашей этике и принципам рабьоты вашего приложения.
ТС же написал т.е. хочет чтоб конфиг был доступен везде. нормальная ситуация. для небольших проектов пойдет. для серьезных - кол-во конфигов нужно больше. там для каждой подсистемы свои и т.д. нужно уже более гибкое решение
Если некие классы имеют общего предка (типа Component), то общий реестр можно организовать через protected static свойство этого родительского класса, которое будет доступно как self::$config. Неродственным классам соответственно оно недоступно. В Laravel 4 есть звездная функция app(). Без параметров она возвращает "приложение", по сути это и есть хранилище конфигурации + фабрика компонентов. А если вызвать app(имя_компонента) то будет найден/создан компонент.
Благодарю за ответы, есть проект который уже ранее запилили на функциях, и не хотелось бы его переписывать, вот по этому и извращаюсь как могу)
А PHP не сойдет с ума, если использовать оба подхода одновременно, не волнуйтесь Никто не говорит, мол, переписывайте все нафиг на ООП.
$_SERVER не сессия, которая будет везде видна, якобы, все равно придется подключать, то, где присваивается или переопределяется, новые ключи и значения. В пе-ремешку уже делать не имеет смысла. Но на стороне "web-сервера" если будете делать, то можно сделать как сказал artoodetoo. А самое лучшее сделать отдельный файл с классом и чтобы он только на сервере мог запрашиваться. И сделать в админку (или отдельно) редактирование настроек класса, чтобы могли: добавлять, изменять, удалять, перемещать (поднимать, опускать): настройки класса "key=>value". После сохранения файл изменится, если одно и тоже сохранять не надо.
Оффтоп, но ты совсем от жизни отстал: https://www.google.ru/search?newwindow=1&safe=off&sa=X&imgu ... 5#imgdii=_