Здравствуйте! Сразу хочу извиниться за глупый вопрос)) Начал изучать ООП в php и наткнулся на такую запись $this->MsLoader->MsHelper->addStyle('abc');
. Понимаю когда обращаются, например, так $this->MsLoader();
. Первая запись означает что мы обращаемся ко всем методам подряд при этом возвращая значение и используя потом это значение в следующем методе или я совсем неправ?)
Это называется цепочкой вызовов. В каждом методе класса, который предполагает вызов дальнейших методов по цепочке, нужно возвращать объект этого класса, т.е. $this
Для примера:
Class Foo {
public $bar;
public $baz;
public function setBar() {
$this->bar = 'bar';
}
public function setBaz() {
$this->baz = 'baz';
}
}
Использовать его мы можем только таким образом:
$fooClass = new Foo();
$fooCLass->setBar();
$fooClass->setBaz();
Но если в каждом из этих сеттеров мы вернем $this
, у нас получится следующее:
Class Foo {
public $bar;
public $baz;
public function setBar() {
$this->bar = 'bar';
return $this;
}
public function setBaz() {
$this->baz = 'baz';
return $this;
}
}
То можно будет сделать вот следующим образом:
$fooClass = (new Foo())->setBar()->setBaz();
Надеюсь, что объяснил понятно :)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня в контроллере стало слишком много SQL-запросовВ смысле, самих запросов-то не так много, но они довольно длинные
Массив books заполняется, но после перехода в main массив очищается, и присваивается другой адресКак сделать, чтоб поиск происходил в заполненном...
Я часто пишу разную ерунду для эксперимента (чтоб получше понять что к чему)Вот одна из них:
Я переустанавливал WIndows, qt у меня находиться тут: