Суперглобальность переменной, как это сделать?

Sodrian

Новичок
Суперглобальность переменной, как это сделать?

Представьте себе такую ситуацию, есть класс , у него есть некоторое кол-во методов и есть переменная , а точнее массив, скажем $_CFG, как видно из названия - массив настроек. Для того, чтобы этот массив стал виден в каждом методе класса, нужно писать global $_CFG; , если же кол-во методов большое, то надоедает каждый раз писать это.
Так вот и вопрос - не подскажите, как эту переменную сделать суперглобальной?
заранее благодарен.
 

kost

Новичок
Сделайте её членом класса. Если хотите, можно даже статическим.

---------

"как видно из названия - массив настроек" :) :) :)
 

SiMM

Новичок
Передавать в конструктор.
PHP:
class foo {
  function foo(&$cfg) {
    $this->_CFG = $cfg;
    ...
  }
  function dump_CFG() {
    var_dump($this->_CFG);
  }
  ...
}

$var = new foo($_CFG);
$var->dump_CFG();
 

master_x

Pitavale XXI wieku
Sodrian
для этого есть паттерн Registry. Реестр объектов. Только там тоже не слишком коротко получается. Только если в конструкторе получать ссылку на конфигурационный объект из реестра.

SiMM
неправильно.
 

kos

Новичок
PHP:
class foo { 
  function foo() { 
    global $cfg;
    $this->_CFG = $cfg; 
    ... 
  }
если в классе его менять не надо
 

clops

Новичок
Автор оригинала: kos
PHP:
class foo { 
  function foo() { 
    global $cfg;
    $this->_CFG = $cfg; 
    ... 
  }
если в классе его менять не надо
фигасе — значит в ВУЗе по теории ООП всё оказалось гоном? как страшно жить! ;)
 
Сверху