WordPress это фреймворк или CMS?

Разработчики часто спорят что такое фреймворк? И вот WordPress это фреймворк или нет? Оно хорошо или плохо?

А что такое вообще этот ваш фреймворк?

Давайте глянем в википедию:

Фре́ймворк (иногда фреймво́рк; англицизм, неологизм от framework — остов, каркас, рама, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

Капитан Очевидность

В целом для 50% людей с мозгами этого уже должно хватить, из определения мы понимаем что да, WP это фреймворк.

Но вот почему 99% PHP кодеров думают что это не так?

WordPress — это не фреймворк, а CMS или даже того хуже — это конструктор!

В целом такое утверждение верно тоже. Да, мы можем использовать WordPress как конструктор. Мы даже можем не писать код. Использовать стратегии NoCode, ZeroCode & LowCode. Это так называемые data-driven подходы, когда ты можешь управлять всем проектом онлайн без изменения кода.

Плохо это или хорошо?

  • Для бизнеса это хорошо — сокращаются затраты в 10х раз. В 99% случаев.
  • Для программистов это плохо — во первых они остаются без работы, во вторых такой системой управлять сильно сложнее, надо уметь думать, а умеют это не многие.

И от сюда становится понятно почему программисты хаят вордпресс — это обычный первобытный рефлекс выживания. Надо быть против того кто отбирает твой хлеб. WP отбирает хлеб у программистов и потому его надо обосрать.

Можно было бы так подумать, но там есть нюансы…

Книга — WordPress как Framework

Есть даже такая книга у много-уважаемого издания, в которой описывается как работать с WP как с фреймворком.

Правда в том что во первых это возможно. А во вторых есть множество ситуаций где это еще и нужно.

Выше я описал что WP часто используют в контексте подхода — data-driven. Но программисты чаще понимают подход code-driven.

Важно эти подходы отличать. Они очень разные, даже если в любом случае мы работаем с WP.

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

Ну а если мы работаем с большими системами, где множество инсталяций и надо ими всеми управлять из 1 точки — и эта точка — код. В этом контексте подход code-driven становится сильно эффективней.

И вот тут типовой WordPress без настроек — может играть в минус. Вы делаете 1 фичу, а потом вам надо скакать по 50 сайтам и везде обновлять опции. Это тяжко. И можно понять программистов которые тут начинают рыдать.

Но это все лишь проблема отсутствия знаний. Важно уметь работать с WordPress как с ZeroCode и data драйвен — если у вас например 1 проект. Это очень эффективно. Но если у вас на 1 код посажено 100 проектов — важно уметь работать с WordPress как с фреймворком. И это тоже важно. Но умеют не многие.

Книга в помощь — тыкай в картинку выше.

А вот еще PHPStorm

Тоже там разработчики думают что WordPress это фреймворк. Потому что включили его в соответствующий раздел.

Совпадение? …

Все фигня. ВордПресс не фреймворк, потому что он кривой

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

А вордпресс он не такой! Я вот привык к Ларавел/Симфони/Zend (нужное подчеркнуть), а тут все не так кака тама!

В общем такое бывает у программистов которые болеют синдромом Утенка.

Смысл в том что большинство теорий, книг и статей они про классический ООП.

А у WordPress применяется ООП компонентного типа, да еще хорошо приправлено механиками из AOP & EDA. Подробнее тут.

В микро фреймворках типа Laravel или Symfony такие штуки применяются редко, потому что обычно там все заточено мод микро сервисы и маленькие продукты.

Увидеть там архитектуру заточенные под сложные задачи и большие проекты — это редкость. Речь идет про проекты где работают от 100 разработчиков.

Для тех кто такого не видал можно глянуть FreeScout

  • ребята реализовали AOP через Laravel Modules
  • сделали EDA через Eventy

Им почти удалось повторить WordPress на базе Laravel.

Но это исключение. В целом 99% кодеров никогда такого даже близко не нюхали.

А в WordPress это все и сразу и в большом количестве.

Надо понимать что у большинства не окрепших умов взрываются пуканы и первичный рефлекс начинаем им говорить что с WP что то не так. Он не фреймворк! ))

Итого

В общем фреймворк оно или не фреймворк — это не вопрос про вордпресс. Это вопрос про то кто и как его использует.

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

Можно использовать как фреймворк — но тогда надо знать что такое OOP 3х типов, что такое AOP? EDA? Чем отличается SOLID от GRASP?

А еще надо знать как правильно делать авто тесты.

И вот тогда можно будет сказать что WordPress это фреймворк, а вы тот кто смог это осилить.

Источник: https://wpcraft.ru/blog/framework-wordpress/

%d такие блоггеры, как: