Верх страницы
Обложка к записи Реализация fluent interface на PHP
Время для прочтения: 1 мин. 3 сек.

Реализация fluent interface на PHP

Текучий интерфейс (англ. fluent interface , название придумано Эриком Эвансом и Мартином Фаулером) — способ реализации в разработке программного обеспечения, объектно-ориентированного API, нацеленный на повышение читабельности исходного кода программы.

Текучий интерфейс хорош тем, что упрощается множественный вызов методов одного объекта. Обычно это реализуется использованием цепочки методов, передающих контекст вызова следующему звену.

Данный стиль написания кода можно увидеть у разработчиков Zend-фреймворка, например, в классе Zend_Db.

Реализуется текучий интерфейс достаточно просто:

 
class Car {
        private $speed;
        private $color;
        private $doors;
 
        public function setSpeed($speed){
                $this->speed = $speed;
                return $this;
        }
 
        public function setColor($color) {
                $this->color = $color;
                return $this;
        }
 
        public function setDoors($doors) {
                $this->doors = $doors;
                return $this;
        }
}
 
// Обычная  реализация 
$myCar2 = new Car();
$myCar2->setSpeed(100);
$myCar2->setColor('blue');
$myCar2->setDoors(5);
 
// Текучий интерфейс
$myCar = new Car();
$myCar->setSpeed(100)->setColor('blue')->setDoors(5);

Ссылки

ВКонтакте
Одноклассники
Linkedin
Telegram
WhatsApp

Автор: Кобзарёв Михаил

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.

Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса.

Ведет блог о разработке, дайджест в телеграмме и в ВК.

Комментарии
Предыдущая запись