Comments 44
Оу, не видел. Убрать в черновики?
+1
Нет, у вас лучше перевод и без кучи рекламы Infobox-а.
+35
В оригинальном посте есть только ссылка на установку в 1 клик, которую делали сегодня ночью с помощью создания пакета JPS для Jelastic (чтобы у пользователей максимально быстро появилась новая версия) и предложение начислить 300 рублей просто так пользователям. Что-то из этого плохо или не стоит делать? (заголовок поправили).
Если внимательно посмотреть на нашу статью — это не перевод. Релиз ноуты у Wordpress одинаковые, мы же посмотрели на новые фичи более детально, проверили их работоспособность.
Если внимательно посмотреть на нашу статью — это не перевод. Релиз ноуты у Wordpress одинаковые, мы же посмотрели на новые фичи более детально, проверили их работоспособность.
-20
Хабр, хабр никогда не меняется.
+2
>> Если код — это поэзия
Очень своеобразная у Wordpress поэзия.
Очень своеобразная у Wordpress поэзия.
+18
Код ядра WordPress достаточно хорошо и грамотно написан, позволяющий его очень гибко использовать. Для того что бы его понять и воспринять правильно, нужно отключить «MVC видение мира» у себя в голове. Ну а что до поэзии, то считайте, что WordPress это аналог японской поэзии.
+4
А заодно и «ООП видение мира» отодвинуть на второй план?
+4
Серьезно? Покажите мне пожалуйста пример хорошего и грамотного кода, в этой мешанине глобалов, классов и функций, я к сожалению не нашел.
+7
Бьюсь об заклад что вы особо и не искали ;) Ну а если честно, то что бы понять весь дзен WordPress-а, надо на нем профессионально работать.
+2
Возможно вы правы.
Мне недавно пришлось столкнутся с Wordpress, и для человека, который привык к более принятым в программисткой среде архитектурам, вроде MVC, OOP и т.д., у меня аж глаз задергался когда я увидел кучу globals, HTML смешаный с PHP и все в основном работает на большом наборе отдельных функций (не классах). А ведь все это считается очень плохой практикой, как минимум в PHP!
Мне недавно пришлось столкнутся с Wordpress, и для человека, который привык к более принятым в программисткой среде архитектурам, вроде MVC, OOP и т.д., у меня аж глаз задергался когда я увидел кучу globals, HTML смешаный с PHP и все в основном работает на большом наборе отдельных функций (не классах). А ведь все это считается очень плохой практикой, как минимум в PHP!
+3
Не знаю, как у «профессионально работающих» на WordPress разработчиков, но лично у меня код того, что я вижу на проектах, где используется WordPress, вызывает ужас (особенно globals, функции в глобальном пространстве имен и т.д.)
Поймите меня правильно. Мне по большому счету все равно, какую CMS использует клиент, если у меня есть задача, которую необходимо сделать. Я использовал множество фреймворков и сравнивать их архитектуру с архитектурой WordPress просто бессмысленно. Лично с моей точки зрения WordPress — это ужасно.
Тем не менее, иногда нужно на нем работать. Иногда нужно поддерживать сайты клиентов, написанные на WordPress. Поэтому я всегда очень настаиваю на обновлениях до текущего релиза, когда это возможно. Все же с каждой новой версией код WordPress'а претерпевает довольно много позитивных изменений. И если бы не было груза обратной несовместимости, мне кажется, разработчики WordPress переделали бы очень многие вещи в ядре.
P.S.
Все же важно понимать, что WordPress делается не для удобства программистов, а для удобства пользователей. И с точки зрения последних он является отличным проектом. Это не мешает мне испытывать определенную антипатию к процессу разработки под WordPress после длительного общения с Yii, Symphony, Laravel и тем более RoR или Django.
Поймите меня правильно. Мне по большому счету все равно, какую CMS использует клиент, если у меня есть задача, которую необходимо сделать. Я использовал множество фреймворков и сравнивать их архитектуру с архитектурой WordPress просто бессмысленно. Лично с моей точки зрения WordPress — это ужасно.
Тем не менее, иногда нужно на нем работать. Иногда нужно поддерживать сайты клиентов, написанные на WordPress. Поэтому я всегда очень настаиваю на обновлениях до текущего релиза, когда это возможно. Все же с каждой новой версией код WordPress'а претерпевает довольно много позитивных изменений. И если бы не было груза обратной несовместимости, мне кажется, разработчики WordPress переделали бы очень многие вещи в ядре.
P.S.
Все же важно понимать, что WordPress делается не для удобства программистов, а для удобства пользователей. И с точки зрения последних он является отличным проектом. Это не мешает мне испытывать определенную антипатию к процессу разработки под WordPress после длительного общения с Yii, Symphony, Laravel и тем более RoR или Django.
+5
Просто вы встретили код, который написан в другой системе ценностей.
Представьте себе, что ООП — это не единственный способ писать программы. Хорошая архитектура может не использовать классы и объекты, но также разделять логику, модель и представление. А может быть и такая архитектура, в которой не будет MVC, но будут другие плюсы.
Мир программирования не ограничивается привычными для вас паттернами. Понятное дело, что вам всё кажется странным и неправильными в коде WP, но это просто вопрос привычки.
Представьте себе, что ООП — это не единственный способ писать программы. Хорошая архитектура может не использовать классы и объекты, но также разделять логику, модель и представление. А может быть и такая архитектура, в которой не будет MVC, но будут другие плюсы.
Мир программирования не ограничивается привычными для вас паттернами. Понятное дело, что вам всё кажется странным и неправильными в коде WP, но это просто вопрос привычки.
+1
Знаете, я вот еще по работе часто использую декларативное программирование, а также мне крайне импонирует функциональное программирование. Я испытал очень приятные ощущения от знакомства с Erland, например. Это было совершенно новым для меня опытом после C, Java, PHP, Python, Ruby и т.д. Думаю, вы не будете отрицать, что функциональное программирование имеет мало общего с ООП?
Мне не нравится языки, основанные на прототипировании (да, я имею в виду Javascript), но я понимаю, что прототипное наследование действительно бывает удобно.
К чему это я. Код просто нравится или нет. Мне не нравится код WordPress. Мне кажется, что он усложняет разработку. Как и многие, я начинал учиться программированию с проделок в процедурном стиле. Когда начал использовать ООП — мне это понравилось. Когда я после ООП начал изучать функциональное программирование — мне это тоже понравилось. Это удобно. Когда я решил глубже изучить Javascript, мне показалось неудобным использование этим языком прототипов в большинстве случаев, которые релевантны моим задачам.
Точно так же я выражаю свое личное мнение (и мнение многих знакомых). WordPress — это шикарный инструмент для очень быстрого приведения проектов в состояние готовности. WordPress — это инструмент. Он крайне удобен для простых пользователей. Лично для меня, как для программиста, он не удобен.
Мне не нравится языки, основанные на прототипировании (да, я имею в виду Javascript), но я понимаю, что прототипное наследование действительно бывает удобно.
К чему это я. Код просто нравится или нет. Мне не нравится код WordPress. Мне кажется, что он усложняет разработку. Как и многие, я начинал учиться программированию с проделок в процедурном стиле. Когда начал использовать ООП — мне это понравилось. Когда я после ООП начал изучать функциональное программирование — мне это тоже понравилось. Это удобно. Когда я решил глубже изучить Javascript, мне показалось неудобным использование этим языком прототипов в большинстве случаев, которые релевантны моим задачам.
Точно так же я выражаю свое личное мнение (и мнение многих знакомых). WordPress — это шикарный инструмент для очень быстрого приведения проектов в состояние готовности. WordPress — это инструмент. Он крайне удобен для простых пользователей. Лично для меня, как для программиста, он не удобен.
+4
Ничего, работа над его «облагораживанием» идет )
Development framework for wordpress
Development framework for wordpress
0
И что же за система ценностей исповедуется программистами Вордпресса?
0
+3
Низкий порог вхождения. Вчера прочитал книжку про php, сегодня ты уже можешь сделать тему для вордпресс.
Это чудесное качество продукта.
Это чудесное качество продукта.
+2
Не такой уж и низкий, если нужно сделать что-то хоть чуть-чуть нестандартное.
0
Не единственный, но код WP — типичный говнокод с любой точки зрения.
0
Все правильно, глобальные перменные и прочий багаж вызван хорошей обратной совместимостью, что очень сложно сказать про многие другие CMS, которые принято переписывать с каждым крупным релизом, а WordPress уже 11 лет. Тем не менее в ядре иногда наблюдаются приятные изменения существующего кода, делая его чище, красивее, функциональнее и быстрее, при этом не ломая обратную совместимость. Хорошие примеры класс WP_Theme, класс WP_Post и некоторые другие.
Тем не менее, у человека пришедшего из мира ООП, MVC, ORM и прочих модных аббревиатур, все равно возникает некий ужас при работе с WordPress: функции, фильтры, события,… но поймите — это одна из причин того, что с WordPress легко справиться даже начинающего разработчику без особых знаний PHP. Как-то раз Мэтт Мулленвег спросил на конференции разработчиков сколько из присутствующих научились программированию на PHP благодаря WordPress. Руки подняли больше половины зала.
Система Ghost — хороший пример, который доказал что именно эта простота является неотъемлемой частью WordPress. Это некий упрощенный аналог WordPress, написанный на Node.js, и теперь он славится лишь своей 45-минутной установкой, а WordPress в это время занимает более 60% доли рынка CMS и активно растет.
Но в легкости WordPress скрывается и его сложность — да, наклепать сайтик за выходные сможет каждый с помощью WordPress, но вот внутреннее строение, архитектуру, и огромное количество нюансов знают немногие. Начиная от элементарных, как например работа с внешними ресурсами с помощью класса WP_Http и функций wp_remote_*(), заканчивая чем-нибудь супер-специфическим, как например аргумент split_the_query в запросах с помощью WP_Query.
А когда с этим всем начинаешь глубоко разбираться, становится интереснее, и с каждым днем понимаешь, что WordPress знаешь все меньше и меньше.
Ну конечно каждому свое. Например мой любимый язык Python, а с WordPress работаю уже более 6-ти лет :)
Тем не менее, у человека пришедшего из мира ООП, MVC, ORM и прочих модных аббревиатур, все равно возникает некий ужас при работе с WordPress: функции, фильтры, события,… но поймите — это одна из причин того, что с WordPress легко справиться даже начинающего разработчику без особых знаний PHP. Как-то раз Мэтт Мулленвег спросил на конференции разработчиков сколько из присутствующих научились программированию на PHP благодаря WordPress. Руки подняли больше половины зала.
Система Ghost — хороший пример, который доказал что именно эта простота является неотъемлемой частью WordPress. Это некий упрощенный аналог WordPress, написанный на Node.js, и теперь он славится лишь своей 45-минутной установкой, а WordPress в это время занимает более 60% доли рынка CMS и активно растет.
Но в легкости WordPress скрывается и его сложность — да, наклепать сайтик за выходные сможет каждый с помощью WordPress, но вот внутреннее строение, архитектуру, и огромное количество нюансов знают немногие. Начиная от элементарных, как например работа с внешними ресурсами с помощью класса WP_Http и функций wp_remote_*(), заканчивая чем-нибудь супер-специфическим, как например аргумент split_the_query в запросах с помощью WP_Query.
А когда с этим всем начинаешь глубоко разбираться, становится интереснее, и с каждым днем понимаешь, что WordPress знаешь все меньше и меньше.
Ну конечно каждому свое. Например мой любимый язык Python, а с WordPress работаю уже более 6-ти лет :)
0
Согласен с вами. Хочу лишь дополнить.
WordPress гибкая система, она практически не в чем не ограничивает разработчика. Если вам угодно вы можете привнести в свой плагин или тему объектно-ориентированный подход и MVC патерн. Есть множество фреймворков для создания тем и плагинов, которые делают этот процесс ещё приятнее. Упомянутого вами ORM к сожалению в WordPress пока нет, но класс wpdb() куда интереснее стандартного PDO.
WordPress — лишь гвоздь в стене на который разработчик может повесить картину своего прекрасного кода. :)
WordPress гибкая система, она практически не в чем не ограничивает разработчика. Если вам угодно вы можете привнести в свой плагин или тему объектно-ориентированный подход и MVC патерн. Есть множество фреймворков для создания тем и плагинов, которые делают этот процесс ещё приятнее. Упомянутого вами ORM к сожалению в WordPress пока нет, но класс wpdb() куда интереснее стандартного PDO.
WordPress — лишь гвоздь в стене на который разработчик может повесить картину своего прекрасного кода. :)
+1
Наверное, я не требовательный к качеству кода, или скорее просто сам пишу «плохой» код, но лично я не считаю код WordPress'а каким-то уж особенно плохим — к стороннему коду, который отдельные разработчики пишут «для WordPress'а» (например, плагины, темы и т.д.) у меня куда больше претензий, чем к коду самой CMS.
И да, если уже смотреть не с точки зрения сферического вакуума, а фактически по конкурентам в сфере, то у WordPress'а далеко не самый плохо код — у многих других CMS все куда хуже :). Да-да, я серьезно.
Если же высказывать претензии к WordPress'у, с точки зрения разработчика, то у меня куда больше претензий к «неоднородности» его начинки. То есть очень часто получается ситуация, что вот одна подсистема движка очень хорошая, удобная, универсальная, расширяемая, а по соседству с ней находиться захардкоженое убожество какое-то.
Что самое плохое, порой «плохим соседом» является «интерфейс» к хорошей подсистеме. Вот банальный самый пример: есть система статусов, гибкая, расширяемая и все такое, можно добавлять свои статусы… но при этом в панели редактирования поста будет доступен лишь список стандартных встроенных статусов… потому, что это меню захардкожено. Такие дела, да.
Чисто интуитивно я понимаю, что большинство подобных моментов это просто пережитки прошлого, в котором WordPress был сугубо примитивным блоговым движком, к которым разработчикам еще не хватило времени добраться и переделать их, однако контраст все равно получается очень сильным. Особенно печалят такие моменты на фоне активной работы над «свистелками».
И да, если уже смотреть не с точки зрения сферического вакуума, а фактически по конкурентам в сфере, то у WordPress'а далеко не самый плохо код — у многих других CMS все куда хуже :). Да-да, я серьезно.
Если же высказывать претензии к WordPress'у, с точки зрения разработчика, то у меня куда больше претензий к «неоднородности» его начинки. То есть очень часто получается ситуация, что вот одна подсистема движка очень хорошая, удобная, универсальная, расширяемая, а по соседству с ней находиться захардкоженое убожество какое-то.
Что самое плохое, порой «плохим соседом» является «интерфейс» к хорошей подсистеме. Вот банальный самый пример: есть система статусов, гибкая, расширяемая и все такое, можно добавлять свои статусы… но при этом в панели редактирования поста будет доступен лишь список стандартных встроенных статусов… потому, что это меню захардкожено. Такие дела, да.
Чисто интуитивно я понимаю, что большинство подобных моментов это просто пережитки прошлого, в котором WordPress был сугубо примитивным блоговым движком, к которым разработчикам еще не хватило времени добраться и переделать их, однако контраст все равно получается очень сильным. Особенно печалят такие моменты на фоне активной работы над «свистелками».
0
Так. Нововведения — это замечательно, а что из старого теперь сломано?))
+1
Почему-то все источники делают видео-превью встраивания oEmbed, а вот новое поведение скролла в редакторе отображают картинкой. Но его ведь просто невозможно понять с помощью картинки, а «фича» на мой взгляд одна из самых лучших в 4.0. Вот короткий видео-ролик прокрутки:
Очень удобно для работы с длинными статьями. Ну и официальный видео-релиз 4.0 для тех, кто еще не нашел:
В общем обновляйтесь друзья!
Очень удобно для работы с длинными статьями. Ну и официальный видео-релиз 4.0 для тех, кто еще не нашел:
В общем обновляйтесь друзья!
+1
Я думаю проблем с обновлением не должно быть, в depricated только совсем древние и мало используемые функции и их всего 3.
Дальше я просто надеюсь что текущие функции будут работать так же как и раньше.
Дальше я просто надеюсь что текущие функции будут работать так же как и раньше.
0
Обновил свой блог на четвертую версию и вы знаете улечшения на лицо, стало более приятно работать.
0
Господа, помогите, пожалуйста, найти блого-пост на русском с расследованием о 1500 SQL-запросах, инициируемых Wordpress'ом при рендеринге одной своей страницы. Несколько лет читал на одном из стендэлон-блогов, не могу найти сейчас.
0
Только что вывел информацию по запросам на главной одного из проектов:
542 запросов за 0,901 секунд
С включенным memcached
3 запросов за 0,102 секунд
542 запросов за 0,901 секунд
С включенным memcached
3 запросов за 0,102 секунд
0
каким инструментом пользуетесь?
за счёт чего при включённом memcached меньше запросов? один раз делается запрос, дальше в кеш, потом только динамика?
за счёт чего при включённом memcached меньше запросов? один раз делается запрос, дальше в кеш, потом только динамика?
0
Инструментом для чего?
Для подключения memcached под WordPress я использую почти полностью переписанный плагин wordpress object cache (изначально он реализован с полной совместимостью с PHP 4.3, что в 2014 году разрывает мозг).
Работа плагина почти идентична работе любой системы, где используется memcached. Забираются данные из БД, кладутся в кеш. Устанавливается время инвалидации. После получения данных из БД обращения к ней практически не нужны, кроме ситуаций инвалидации кеша или записи в БД.
Для подключения memcached под WordPress я использую почти полностью переписанный плагин wordpress object cache (изначально он реализован с полной совместимостью с PHP 4.3, что в 2014 году разрывает мозг).
Работа плагина почти идентична работе любой системы, где используется memcached. Забираются данные из БД, кладутся в кеш. Устанавливается время инвалидации. После получения данных из БД обращения к ней практически не нужны, кроме ситуаций инвалидации кеша или записи в БД.
0
в смысле для просмотра запросов, не пробовали юзать total cache?
0
Конкретно для вывода тех двух сообщений я использовал функцию, встроенную в вордпресс: get_num_queries()
W3 Total Cache — это огромный и неудобный комбайн. Я разработчик, причем не разработчик на Wordpress, а просто разработчик. Мне очень не нравится, когда плагин весит 15 мегабайт, требует установить права 0777 на кучу директорий, самостоятельно создает файлы конфигурации и т.д.
Я пробовал W3 Total Cache и мне не понравилось.
W3 Total Cache — это огромный и неудобный комбайн. Я разработчик, причем не разработчик на Wordpress, а просто разработчик. Мне очень не нравится, когда плагин весит 15 мегабайт, требует установить права 0777 на кучу директорий, самостоятельно создает файлы конфигурации и т.д.
Я пробовал W3 Total Cache и мне не понравилось.
0
А что за редактор используется в wordpress 4?
-1
Sign up to leave a comment.
Релиз WordPress 4.0 Benny