Оцените идею: сделать "главный" класс с внешними настройками.

Lisi4ka

Новичок
Оцените идею: сделать "главный" класс с внешними настройками.

Использую в проекте классы.
В классах зачастую приходится использовать переменные, определённые в основных конфигурационных файлах.
Раньше обращался к переменным как $GLOBALS["_CONFIGS"]["run_smiles"], передавал их через конструктор, как то ещё... Сейчас идея возникла, сделать базовый супер-класс, в котором были бы просто записаны внешние переменые:

PHP:
class base{
....
$this->run_smiles = $GLOBALS["my_array"]["run_smiles"];
$this->param = isset(...) ? 0 :  $GLOBALS["my_array"]["param"];
$this->value = 1*10;
// и т.д.
.....
}
и остальные классы просто наследовались бы от него и как результат, в extends классах не нужно было бы "криво" определять переменные как $this->run_smiles = $GLOBALS["my_array"]["run_smiles"];

Ваше мнение?
 

Барби

Новичок
тоже игрался с определениями и в итоге пришёл к тому что для конфигурационных параметров (да и параметров в целом) сделал отдельный клас (и пару функций типа взять переменую, сохранить переменную) и эту редиску везде циплял в конструкторах. в принципе тоже самое )
 

Serguitar

Новичок->продвинутый
Lisi4ka
$this->run_smiles = $GLOBALS["my_array"]["run_smiles"];
А зачем тебе через глобалс тащить? Пропиши явно, раз уж так. Или ещё лучше - определи константами.
А вообще, имхо - не нужно смешивать. Вытащи в отдельный файл все настройки, определи их как константы и подлючай где нужно.
 

Lisi4ka

Новичок
А зачем тебе через глобалс тащить? Пропиши явно, раз уж так.
Иногда данные берутся из хранилища. Иногда-нет.
Тот же $GLOBALS["my_array"]["run_smiles"] является элементом динамически-формируемого массива из БД, прочие элементы которого не нужны в классах.
 

itprog

Cruftsman
Serguitar
А вообще, имхо - не нужно смешивать. Вытащи в отдельный файл все настройки, определи их как константы и подлючай где нужно.
Вопрос только кто будет читать этот файл, кто будет его парсить, кто будет получать из него значения? Для этого и нужен класс..
Если речь идет о php файле с константами, то это не всегда удобно, часто приходится выносить некоторые вещи в ini или xml
 

master_x

Pitavale XXI wieku
Lisi4ka
тебе нужно использовать паттерн Registry насколько я понимаю. С этим в гугл.
 
Сверху