Нужна oop для темы wordpress?

Я знаю, как программировать на PHP, но я не знаю OOPS (объектно-ориентированное программирование). Лучше ли создавать темы в OOPS (объектно-ориентированное программирование) или с обычным кодированием? Это лучше для выступлений и т. Д.?

Спасибо!

Будет лучше, если вы создадите тему в OOPS (объектно-ориентированное программирование), потому что OOPS предоставляет следующие преимущества по сравнению с обычным / процедурно-ориентированным программированием.

Преимущества объектно-ориентированного программирования

  1. Модульность : исходный код для класса можно писать и поддерживать независимо от исходного кода для других классов. После создания объект может быть легко передан внутри системы.

  2. Скрытие информации : взаимодействуя только с методами объекта, детали его внутренней реализации остаются скрытыми от внешнего мира.

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

  4. Легкая отладка : если конкретный объект оказывается проблемой, вы можете просто удалить его из своего приложения и подключить к нему другой объект. Это аналогично устранению механических проблем в реальном мире. Если болт ломается, вы заменяете его, а не всю машину.

Стоимость объектно-ориентированного программирования

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

Чтобы ответить на вопрос: Нет, вам не нужны ООП для тем WordPress.

Это не значит, что вы не можете этого сделать, подавляющее большинство тем используют некоторые кусочки классов, такие как расширение WP Menu Walker и некоторые другие мелочи, но я еще не видел тему, полностью разработанную в ООП.

Производительность – в зависимости от сценария – я сомневаюсь, что вы заметите существенные различия (особенно с системой кеширования), так что это вопрос личных предпочтений.

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

Однако, как указано в @Wyck, этот вопрос слишком важен для правильного ответа.

Избегайте ООП.

На самом деле это два вопроса в одном

  1. следует ли использовать методологию ООП?
  2. следует ли использовать классы?

Нет ничего плохого в использовании OOP, но большая часть взаимодействия, которые темы и плагины имеют с ядром wordpress, очень функциональна – на событии «a» выполняет функцию «b». Как правило, очень мало смысла в создании объектно-ориентированного дизайна (который вы всегда должны делать перед написанием кода ООП), чтобы обнаружить значимые постоянные классы объектов в вашей теме, поскольку они, вероятно, очень тривиальны.

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

Некоторые разработчики плагинов используют классы для инкапсуляции данных / namespacing, чтобы избежать столкновений глобальных переменных и имен функций, но это может быть достигнуто также путем префикса «нормальных» имен функций.

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

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