ortegas

Рейтинг
195
Регистрация
29.05.2008

siv1987, это обычные функции, но они используются не в определенном контексте (как в случае с методами), а предназначены для всей программы. Например, парсинг даты со строки (типа, "завтра", "на день рождение + 2 дня"), гибрид multibyte функций с обычными строковыми функциями с автодетекцией нужной. То-есть, я вместо того чтобы каждый раз проверять кодировку, установленный язык, вести кэш, могу просто написать convert_case($string).

Ну раз $LANG нельзя, тогда остается $GLOBALS['LANG']

А расширение же можно написать? Как-то же делают. Ну может есть какой-то вариант. Уже предлагали автоматом подставлять global, но это может нарушить целостность файлов. Да и вообще как-то криво звучит.

Ладно. Спасибо. :(

Так а чем тогда тот же $GLOBALS['LANG'] не устраивает? Многомерный, глобальный, канонический со всех ваших точек зрения...

Тем что по сравнению с Registry::$LANG - это шило на мыло. Скажите, что бы вы сами выбрали $LANG или $GLOBALS['LANG']?

Чует мое сердце, в следующей версии PHP, GLOBALS будет Deprecated.

siv1987, да я уже реализовал наиболее подходящий вариант ООП Registry::$CONF, Registry::$LANG, Registry::$DIR. Но зачем мне ООП для такой дребезени? Зачем мне такой паровоз писать каждый раз? Зачем мне $this, зачем мне self?

Вы используете функции или методы класса?

Я использую глобальные функции + методы классов, в том числе статические.

Мне нужен многомерный глобальный массив! Я бы готов десять раз написать global $CONF, $LANG, $DIR, но нужно написать раз 500! И при этом не забывать писать это в новых методах. Поэтому я и спросил за эмуляцию глобального массива, такого как GLOBALS, но только со своим именем.

siv1987, жжете. Все обычное в PHP я и сам знаю. Я спрашиваю за необычное.

Еще раз.

У меня есть 20+ классов. В каждом из классов нужно использовать конфигурацию. Сейчас я использую Registry::$CONF, а вчера это были константы. Подобный синтаксис не очень выгодный и излишне не продуктивный. Поэтому, я решил использовать глобальный массив с настройками и писать просто $CONF. Но тут меня накрыла проблема, чтобы работать с глобальным объектом, нужно перед каждым вызовом в новой подпрограмме писать global.

Какой self? Какой $this? Речь идет о 20+ глобальных классах.

siv1987, который работает только в объективном контексте, но не работает в статическом... То-бишь, на объект.

Какой объект и зачем если есть синглтон?

Там где работает такое $this->settings =& $this->registry->getSettings(); , можно написать и global для обычного массива. Но проблема в том, что слишком часто это нужно делать. Вот.

Если уж хочется так извращаться

По-моему, извращение это ООП для обычного хранения конфигурации.

Какой объект, и зачем если есть синглтон?

А $this это что? Указание на объект, правильно?

siv1987, ООП.

$this->settings =& $this->registry->getSettings();

И каждый раз создавать новый объект :) ? Для меня идеал - глобальный массив, но увы. Работал бы global глобально, было бы все как надо.

То не можна, то нельзя. Ладно. Создам алиас _ к Registry. :(

siv1987, я выбрал регистр. Но не нужен мне он. Мне нужен глобальный массив. Что делать? :(

Или мне так писать _::$CONF чтобы было короче. Нет, ну это же костыли. А обращаться к конфигурациям через Registry::$CONF это ахтунг!

bay_ebook, в константах было изначально. Не устраивать ибо нужна вложенная структура + 1% данных изменяется во время выполнения скрипта. Нужен именно супермассив. GLOBALS вроде бы и подходит, но... заносить LANG, CONF, DIR в один массив? - Нет.

Ну не верю я, что нету возможности создать свой супермассив.

Всего: 3009