Шаблон текучий интерфейс (fluent interface) в PHP

Шаблон текучий интерфейс (fluent interface) в PHP

Шаблон текучий интерфейс (fluent interface) в PHP

В мире веб-разработки, эффективность и ясность кода играют ключевую роль. В поисках средств улучшения качества кода, разработчики часто обращаются к концепции «плавных интерфейсов» (fluent interfaces). Этот шаблон проектирования позволяет создавать цепочки вызовов методов объектов, делая код более компактным, понятным и выразительным.

Что такое плавный интерфейс?

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

Преимущества использования плавных интерфейсов:

  • Читаемость кода: Последовательные вызовы методов образуют естественную цепочку, что делает код более читаемым и понятным.
  • Компактность: Использование плавных интерфейсов позволяет сократить количество строк кода, делая его более компактным и лаконичным.
  • Улучшенная экспрессивность: Благодаря цепочке вызовов методов код становится более выразительным и легко читаемым, что улучшает его общую ясность и понятность.
  • Примеры использования плавных интерфейсов в PHP:

    1. Класс для построения SQL-запросов к базе данных:

    Код ниже — это пример, не стоит использовать его в реальных проектах, так как он подвержен SQL-инъекциям

    class QueryBuilder {

        protected string $query;



        public function __construct() {

            $this->query = '';

        }



        public function select(string $fields) {

            $this->query = 'SELECT ' . $fields;

            return $this;

        }



        public function from(string $table) {

            $this->query .= ' FROM ' . $table;

            return $this;

        }



        public function where(string $condition) {

            $this->query .= ' WHERE ' . $condition;

            return $this;

        }



        public function orderBy(string $field) {

            $this->query .= ' ORDER BY ' . $field;

            return $this;

        }



        public function getQuery() {

            return $this->query;

        }

    }



    // Использование текучего интерфейса

    $query = new QueryBuilder();

    $query->select('*')->from('users')->where('id = 1')->orderBy('name');

    echo $query->getQuery();

    2. Манипуляции с коллекциями данных:

    class Collection {

        protected $items = [];



        public function add($item) {

            $this->items[] = $item;

            return $this;

        }



        public function filter($callback) {

            $this->items = array_filter($this->items, $callback);

            return $this;

        }



        public function getItems() {

            return $this->items;

        }

    }



    // Использование плавного интерфейса

    $collection = new Collection();

    $filteredItems = $collection->add(1)->add(2)->add(3)->filter(function($item) {

        return $item % 2 == 0;

    })->getItems();

    print_r($filteredItems);

    Заключение:

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

    А, если Вы себе плохо представляете, что из себя представляет PHPb, но хотели бы научиться программировать на этом популярном языке программирования
    и найти работу веб-программистом, то у меня для Вас есть отличный видеокурс Система «PHP и MySQL с Нуля до Гуру 3.0″

    Источник

    НЕТ КОММЕНТАРИЕВ

    Оставить комментарий