|
|
|
| Можно ли объявить свою супеглобальную переменную, что-бы доступ к ней был в любой собственной функции или класса. Причем надо объявить её только один раз, вне функций.
Желательно что-бы массив или класс | |
|
|
|
|
|
|
|
для: roma67
(11.04.2012 в 14:37)
| | нет | |
|
|
|
|
|
|
|
для: Valick
(11.04.2012 в 14:49)
| | Чем $GLOBALS не подходит? | |
|
|
|
|
|
|
|
для: Drago
(11.04.2012 в 15:50)
| | Спасибо, получается.
А если без $GLOBALS, например я хочу массив создать общих настроек, с именем CFG или FRAME или другой.
Грязноватый, размытый, растянутый код получается, если каждый раз, для каждой переменной $GLOBALS писать | |
|
|
|
|
|
|
|
для: roma67
(11.04.2012 в 16:17)
| | см. ответ Valick'a. | |
|
|
|
|
|
|
|
для: Drago
(11.04.2012 в 17:25)
| | >см. ответ Valick'a.
Он не ответил, какое условие не возможно выполнить
Вы ответили. точнее ваш ответ решает поставленную задачу
У меня дополнительный вопрос
Кроме GLOBALS, известны ли вам другие способы доступа к переменным внутри функций и классов, если переменные объявлены и определены вне функций и классов? | |
|
|
|
|
|
|
|
для: roma67
(12.04.2012 в 13:59)
| | Создать массив $_CFG который будет виден в любых методах любых классов можно только сделав соответствующее объявление.
<?php
class A
{
public static function b()
{
// чтобы внутри этой функции был виден массив $_CFG
// нужно ниписать
$_CFG = вызвать функцию наполняющую массив
}
}
|
Если объявление $_CFG требуется более одного раза, логично сделать хэширование наполнения массива и каждый последующий вызов брать уже сохраненные в памяти данные, а не выделять память для создания нового экземпляра настроек. | |
|
|
|