Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Уроки PHP - Часть 3 - Создание своей CMS

08/12/2019, by Ivan

Создание сайтов на CMS не ограничивается лишь Drupal, Joomla и Wordpress. В мире большинство сайтов сделано на самописных CMS. Несмотря на что уже написано много кода на PHP, программисты очень часто используют свои собственные разработки. Давайте попробуем понять зачем использовать свою CMS.

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

На странице скачивания Друпал, есть блок со списком программистов работающих над ядром друпала, то есть над самой CMS.

drupal.org/node/3060/committers?sort=desc&order=Commits

А на этой странице список программистов с добавленными ими правками ядра. И так список:

Разработчик Последняя правка Первая правка Правки
Dries 3 days ago 11 years ago 10501 правки
webchick 5 days ago 3 years ago 3108 правки
Gábor Hojtsy 2 days ago 4 years ago 1635 правки
Steven 4 years ago 11 years ago 1156 правки
drumm 1 year ago 5 years ago 764 правки
killes@www.drop.org 4 years ago 6 years ago 506 правки
Kjartan 5 years ago 11 years ago 383 правки
catch 2 days ago 21 weeks ago 329 правки
Jeroen 10 years ago 11 years ago 101 правки
Git Migration 1 year ago 10 years ago 38 правки
jhodgdon 2 days ago 3 days ago 3 правки
quicksketch 16 weeks ago 16 weeks ago 3 правки
pillarsdotnet 23 weeks ago 23 weeks ago 2 правки

Начнем по списку:

Dries

Dries (10к правок) - полное Дрис Байтаерт (Dries Buytaert), основатель проекта друпал. Как вы видите проекту Drupal уже больше 11 лет. Дрис создал компанию acquia, которая занимается технической поддержкой сайтов на Друпал (очень не бесплатной в отличие от самого Друпала), а также разработкой Друпала и модулей к нему. Где-то я читал в одном из интервью с Дрисом, что он уже не занимается непосредственной разработкой Друпала, как программист, а по большей части управляет компанией acquia. А такое большое количество правок ядра он объяснил тем, что ему присылают уже готовые патчи ядра и он их только добавляет.

Webchickwebchick (3к правок) - полное имя Энджи Байрон (Angie Byron), разработчик 7 версии Друпала. Работает (работала?) в компании lullabot, хотя в профайле на drupal.org указано, что если вы хотите нанять ее для работы над своим сайтом, то для этого следует обратиться в компанию acquia. Также Энджи разработала Drush, набор скриптов для работы с Друпал через консоль. На сегодняшний день Энджи один из ведущих разработчиков Друпал.

GaborGábor Hojtsy - полное имя Габор Хойтси (Gábor Hojtsy), один из основных разработчиков 6ой версии Друпал. Также разрабатывал возможность интернализации и перевода Друпала на другие языки в 7ой версии Друпала.

Есть, конечно, и другие разработчики ядра, они занимались какой-нибудь одной частью Друпала. Но эти разработчики основные. Таким образом сколько бы не говорили, что друпал это детище тысяч программистов, но ядро друпала это работа нескольких людей. Получается что даже огромные CMS разрабатывают несколько людей.

Вернемся к первоначальному вопросу, зачем разрабатывать свою CMS. А вы помните сколько времени у вас ушло на изучение друпала, так вот, у некоторых программистов на создание CMS уходит меньше времени, чем на изучение CMS размера с Друпал.

PHP простой язык ( по отношению к другим языкам), писать код на нем могут все, особых знаний (для простых вещей), не требуется. Конечно со временем вам потребуется многое узнать, чтобы написать масштабируемую CMS, а пока посмотрим на плюсы своей CMS:

1. Вы знаете где и что у вас лежит. Как часто вы смотрите код taxonomy.module, comment.module. Я не очень часто, а Вы? Просто не возникает такой необходимости. Код написан, функции задокументированы, шаблоны переопределяются. Ну что еще нужно? А если возникает проблема или ошибка. Что тогда делать? Писать на drupal.org и ждать пока заваленные работы разработчики ядра ответят? По моему это не выход.

2. Высокая скорость работы. Не секрет что друпал работает медленно, посылает много запросов к БД. Самописная CMS будет работать намного быстрее. Но есть и обратная сторона медали в Друпал уже есть модули для оптимизации и кеширования, так что эта проблема есть только на shared-хостинге.

3. Сам себе хозяин. Вы можете не следовать правилу "не трогать ядро" и править прямо в ядре. Это будет очень удобно и не нужно ждать релиза новой версии ядра, чтобы включить свои правки.

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

Итак, вы решили написать свою CMS, начнем.