@Barbotkin
Web Developer

Как лучше писать код плагина на wordpress процедурным или ООП?

Занимаюсь разработкой плагинов на wordpress. Как лучше писать код плагина на wordpress процедурным или ООП классами?
Какие плюсы и минусы?
Клиент написал:
"Do not use heavy OOP (Object Oriented Programming) Procedural is better."
Интересно ваше мнение и мнение людей которые занимаются этим уже долго, что бы в будущем не совершать ошибок и идти правильным путем.
Спасибо :-)
  • Вопрос задан
  • 782 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Рекоммендуется / best practice - ООП. Какие паттерны юзать - дело ваше. Синглтоны - весьма спорный подход, одни оторваться от него не могут, других тошнит.

Но ООП только для больших плагинов. Например, если пишется много кастомного функционала для сайта (в виде плагина/ов), или один нишевый относительно большой плагин, используем ООП. Если плагин небольшой и не сложный - процедурно. Нет смысла строить многоэтажку там, где достаточно хижины на берегу.

И в любом случае, если плагин подразумевает удобные методы вывода контента / результатов его работы в шаблоны, то стоит писать свои template tags для удобства конечных пользователей - хорошая практика. Им существенно проще использовать привычный формат, например, кастомная функция my_get_post_views(), которая выводит количество просмотров поста, вместо вызова метода класса. Сама функция, в свою очередь, является только оберткой для этого вызова, но простым пользователям так понятнее и удобнее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Best practice при разработке на wordpress является ООП и синглтон. Далее - по своему усмотрению. Исключение, разве что, когда у вас пара функций и один хук, грубо говоря. Тут собраны хорошие советы, в большинстве общего характера.

Процедурно ни в коем случае не рекомендую, это путь всяких друпалов, не дает никаких преимуществ и смотрится \ рефакторится \ читается ужасно.
Ответ написан
@mr_ko
Javascript, Node.js. React.js, Vue.js, Wordpress
Ну если плагин не большой то можно и процедурно. Если заказчик хочет то деваться некуда.
Я все же перешел на ООП. если код оформлен отдельными классами потом легче его использовать в других плагинах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы