Почему у популярных CMS в коде смесь из HTML и PHP?

|

Программировать руками в современных системах управления сайтом становится совершенно невыносимо. Сплошь и рядом наблюдается смешивания HTML и PHP. "Почему?" - задаю я вопрос.

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

Но бывает так, что приходится работать с системами управления версиями (CMS), которые имеют очень высокую популярность и заказчик хочет, чтобы у него на сайте использовался именно тот или ной движок — WordPress, openCart, Joomja или что-то другое… 

И вот тут начинается то, что лично меня веселит очень здорово

badCode

Это пример кода популярного, как пишут везде на форумах и на страничках в Интернете, движка openCart. Движка для создания интернет-магазина.

Или вот пример кода из WordPress

badCode1

И мне становится грустно. Почему? Потому, что я категорически не принимаю такой код. Потому, что для простой правки кода верстальщиком, не обладающим хоть какими-то знаниями в области php, а работающим исключительно с HTML и CSS (чего у нас полно сплошь и рядом) — мне нужно постоянно подключаться и делать вывод того или иного элемента.

Спешу предупредить возмущения касательно того, что существует обширное сообщество, существуют готовые решения и т.д.

Сейчас я веду речь о том, что «из коробки» в данных CMS заложена дурацкая манера кодирования.

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

Впрочем, я несколько отклонился от темы…

В данном случае я вижу решение — это шаблонизаторы. Дело лишь за тем, чтобы программист подключил тот или ной шаблонизатор на сайт и передал все это верстальщику. Последнему останется лишь освоить совершенно небольшой объем информации, в виде определенных тегов, синтаксиса и порядка вывода на странице. Чтобы получилось что-то подобное:

goodCode

goodCode1

 

Два примера кода на фронтэнд, используя шаблонизаторы. В первом случае используется Smarty, во втором — Fenom. Можно привести еще примеры, но, думаю, соль понятна.

Читается легче, минимальную логику вывода того или иного элемента задать в разы проще, ошибиться в структуре кода — меньше.

В общем, читайте. Делайте свой выбор.

Этой статьей я лишь хотел обозначить проблему в стиле кодирования в современных системах управления сайтами. А также обратить тех, кто собирается заказывать свой сайт в каких либо студиях или, особенно, фрилансерах, на то, что вам предлагается в качестве основы создания сайта. Ведь может оказаться, что ведясь на низкую стоимость и быстроту получения конечного продукта, вы заплатите двойную или даже тройную цену в будущем.

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