Будет ли WordPress полностью ООП?


15

Есть ли какая-либо информация о том, что WordPress станет полностью ООП в будущих версиях?

Ответы:


17

Я могу с уверенностью сказать 99,9999%, что WordPress никогда не станет полностью ООП в будущей версии, и не в последнюю очередь то, что тема снова и снова появлялась в списке wp-хакеров, и члены основной команды не проявили интереса к делать это.

Рассматривая свой личный опыт программирования и преподавания ООП начиная с 1990 года, я согласен с основной командой и считаю, что полный ООП будет ошибкой. Хотя когда-то я был фанатом ООП и думал, что ООП - панацея, я с тех пор пришел к выводу, что в некоторых контекстах он имеет свою ценность, но в других контекстах он мешает.

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

Конечно, для отдельных аспектов WordPress ООП имеет большой смысл, и если вы изучите ядро, вы найдете такие классы; Widget, List_Tables (в 3.1) и т. д.

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

FWIW.


7
Но вы должны согласиться, что если бы Wordpress был полностью ООП, было бы намного легче понять, как все работает там. Для разработчика это экономит время.
Евгений

2
@ Евгений - я вообще не согласен с этим. Когда-то я верил, что ООП лучше во всех случаях, но я больше в это не верю. Я предполагаю, что, поскольку вы более настроены на ООП, вам трудно понять WordPress, потому что это не чистый ООП. Но в качестве примера я недавно попытался понять CodeIgnitor, и я был поражен всей его сложностью ООП, в то время как я считаю, что WordPress чрезвычайно прост для понимания. По аналогии я легко понимаю английский; Французский, не так много. Проще говоря, это то, что вы знаете.
MikeSchinkel

1
@ Евгений: я не согласен, что легче понять код ООП. Для кого-то, кто разрабатывает в ООП, да, но для меня, например, использование классического ANSI C, не совсем.
petermolnar

1
Окей. Понял. ООП детка, стиль Wordpress хорош. :) @MikeSchinkel Да. Я использую оба этих инструмента в своей работе. Если вы предложите их, я попробую еще раз. Спасибо за помощь всем.
Евгений

2
Я рад слышать это. ООП не будет подходящим путем для WordPress.
Ciprian

4

Многие компоненты WP переписываются в коде ООП с каждым новым выпуском, и новые компоненты, как правило, используют его (например, WP_Customizerвещь). Но если вы спрашиваете, изменит ли WP свою архитектуру на полностью объектно-ориентированную, то нет, в настоящее время нет информации, которая бы предлагала такую ​​вещь.

Я бы не сказал, что этого никогда не произойдет, но вряд ли это произойдет в ближайшем будущем, и, вероятно, не из-за проблемы «базового класса» :)

Прежде всего, существуют только недостатки в использовании процедурного кода над ООП для приложения CMS, такого как WordPress, просто потому, что такие приложения предназначены для расширения с помощью плагинов. Добавление комбинации функций и глобальных переменных вовсе не облегчает эту задачу. На момент написания WP никто не мог предсказать, каким станет WP, и было сделано много неудачных решений. Сейчас довольно сложно догнать, потому что большинство плагинов и тем перестали бы работать должным образом. Реализация огромного уровня совместимости, чтобы избежать этого, вероятно, замедлит WP и добавит еще больше путаницы среди разработчиков. Также подумайте о цели - облегчить жизнь разработчикам за счет пользователей?

Если это поможет - очень старая дискуссия о wp-хакерах, но все еще актуальная для этой темы, и предложенная сообществом идея , теперь помеченная как «территория плагина». В последнее время я не заметил другой активности в этом направлении.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.