Помогите понять...

Статус
В этой теме нельзя размещать новые ответы.
Тут как то рылся в скриптах и наткнулся на такие записи:

функция()->функция()->функция('tra-ta-ta');

Что означает и для чего такая реализация.

Передача объектов по цепочке - решение, при котором часто используемые объекты передаются по цепочке на сколь угодную глубину. В целом этот способ имеет слишком большие недостатки тем, что раздувает количество передаваемых параметров в конструкторы или методы классов. Пытаясь преодолеть этот недостаток, некоторые вводят понятие контекста. Такой подход предусматривает создание такого весьма тяжелого контейнера, который в себе хранит (может также отвечать за инициализацию) все нужные приложению объекты . Этот контекст передается между всеми объектами приложения, если тем нужно что-либо из этого контекста. Как правило, контекст содержит четкий предопределенный набор объектов и четкий интерфейс. Такой подход применяется в php-фреймворках Symfony и CodeIgniter. Передача объектов по цепочке – push прием (Constructor Injection или Setter Injection), хотя в случае с контейнером уже двойной Inject + Lookup.
 
  • Автор темы
  • Заблокирован
  • #12
В целом этот способ имеет слишком большие недостатки тем, что раздувает количество передаваемых параметров в конструкторы или методы классов.

Тогда может лучше использовать такую запись:
PHP:
  class test {
   public $a = "Hello";
  
   function get(){ 
       $r =& $this; 
       return $r;}
   function show(){ echo $this->a;}
  }
  
  $b = new test();
  
  $b->get()->show();

Передавать ссылку на объект...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху