Написание своего плагина для WordPress. Часть 6. Плагин в стиле ООП

Некоторое время назад был опубликован цикл статей, посвящённых разработке собственных плагинов для CMS WordPress.

Данный цикл рассматривает все основные вопросы, связанные с созданием плагина. Начиная с написания каркаса и заканчивая публикацией на WordPress.org. Однако в нём был приведён, если так можно сказать, «классический» подход к написанию плагина, основанный на функциях. В тоже время существует более современный. На основе объектно-ориентированного программирования (ООП).

Цель этой статьи – дополнить основной цикл и устранить указанный недостаток.

В качестве примера, перепишем созданный ранее плагин в соответствии с парадигмой ООП.

В результате получим следующий класс плагина:

Для того чтобы придать плагину работоспособность просто создадим объект этого класса и вызовем его метод add_plugin_admin_menu.

Из приведённого кода можно заметить два основных отличия от «классической» версии.

  1. Изменилась передача функций в стандартные функции API WordPress.
    Так как эти функции теперь метода класса, их необходимо передавать через массив с указанием текущего объекта. Как, например, здесь:
  2. При использовании объекта класса плагина используется только один открытый метод, несмотря на то, что таких методов несколько.

Последнее обусловлено архитектурой WordPress и PHP, но, в первую очередь, самой парадигмой ООП. Дело в том, что если метод класса передаётся в функции WordPress API, то к нему обязательно должен быть открытый доступ. В противном случае, функция API WordPress не сможет корректно отработать.

В остальном реализация плагина на основе ООП ничем не отличается от той, чтобы была основана на обычных функциях.

Какой подход выбрать? Это решает каждый разработчик самостоятельно в каждой конкретной ситуации.

С одной стороны ООП позволяет значительно оптимизировать работу плагина и сам процесс его создания. С другой стороны, если применять ООП необдуманно (например, просто «ООП ради ООП»), то можно добиться и противоположного эффекта.

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

Ссылки на предыдущие статьи цикла:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *