Мысли о Друпале
Друпал (анг. Drupal) — система управления содержимым, написанная на ПХП Дрисом Бёйтартом. Вместе с Вордпрессом и Джумлой входит в большую тройку КМС.
Историю Друпала вы можете прочесть в Википедии. Ознакомиться с текущим состоянием дел можно на официальном сайте. Начинающим будет полезно зарегистрироваться на форуме Дупал.ру, сообщество активно, есть подборка обучающих статей.
В этом посте я хочу выразить некоторые мысли, которые сформировались за долгое время работы с Друпалом. Это отдельные тезисы с краткими пояснениями.
Гибкость системы. Главным достоинством Дупала является его гибкость. Не секрет, что любая КМС в той или иной степени ограничивает разработчика. Дрис и команда разработали систему модулей и хуков. Она позволяет менять поведение Друпала без правок ядра.
Хуки — именованные функции. За хакерским словечком «хук»
скрывается банальная вещь — функция, имя которой удовлетворяет
шаблону <имя модуля>_<имя хука>
. Эти функции должны располагаться
в теле модуля. Друпал опрашивает модули на предмет наличия этих
функций и вызывает их. При этом функция-хук должна либо вернуть
какие-то данные, либо изменить те, что были переданы ей по
ссылке. Хуков много, вызываются они в разное время. Некоторые модули
могут определять собственные хуки.
Множество модулей. Система модулей и хуков понравилась
разработчикам. В настоящее время число всех модулей оценивается в
несколько тысяч. В актуальном
состоянии поддерживается около тысячи модулей. Написать свой модуль
легко — это ПХП-файл с расширением *.module
с функциями-хуками
внутри. Описание каждого хука с примерами смотрите в
документации.
Не все в Друпале так идеально, как кажется. Друпал имеет солидный возраст, это зрелый программный продукт. Однако, некоторые его компоненты устарели и нуждаются в переработке. Например, работа с формами. В любом современном фреймворке форма, поля и валидаторы — это классы. Нужно расширить форму — наследуете от нее свой класс. Работа с классами проще, чем с хэш-массивами двойной вложенности. Друпал хранит переводы и кэш в базе, что отрицательно сказывается на производительности. Система нод (или сущностей) Друпала раскидывает поля по отдельным таблицам, вместо того, чтобы добавлять поля к имеющимся.
Не делайте из Друпала культ. Начинающим веб-разработчикам кажется, что Друпал способен на все. Это правда, но лишь в теории. Легкость создания больших сайтов без написания кода компенсируется многими уровнями абстракций и чрезмерно сложной логикой. Приступая к новому проекту, спросите себя, так ли нужен здесь Друпал, нельзя ли обойтись чем-либо попроще? Например, вы решили вести блог. Стоит ли качать Друпал, ставить на него и настраивать кучу модулей, если проще взять специализированный движок?
Любите Друпал не больше других средств разработки. Не зацикливайтесь на Друпале. Постарайтесь освоить несколько технологий, языков, фреймворков, КМС. С разнообразием приходит опыт. Заимствуйте удачные решения из одного проекта в другой. Старайтесь не привязывать удачные решения только к Друпалу. Например, если в модуле есть код рассылки смс, оформите его в отдельном файле и выложите на Гитхаб.
Комментарии из старого блога
08/19/12 jedi: Согласен со всем, жалко мало написали. Сам перехожу на yii
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter