Уроки PHP - Часть 3 - Создание своей CMS
Создание сайтов на 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 (10к правок) - полное Дрис Байтаерт (Dries Buytaert), основатель проекта друпал. Как вы видите проекту Drupal уже больше 11 лет. Дрис создал компанию acquia, которая занимается технической поддержкой сайтов на Друпал (очень не бесплатной в отличие от самого Друпала), а также разработкой Друпала и модулей к нему. Где-то я читал в одном из интервью с Дрисом, что он уже не занимается непосредственной разработкой Друпала, как программист, а по большей части управляет компанией acquia. А такое большое количество правок ядра он объяснил тем, что ему присылают уже готовые патчи ядра и он их только добавляет.
webchick (3к правок) - полное имя Энджи Байрон (Angie Byron), разработчик 7 версии Друпала. Работает (работала?) в компании lullabot, хотя в профайле на drupal.org указано, что если вы хотите нанять ее для работы над своим сайтом, то для этого следует обратиться в компанию acquia. Также Энджи разработала Drush, набор скриптов для работы с Друпал через консоль. На сегодняшний день Энджи один из ведущих разработчиков Друпал.
Gá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, начнем.