Статьи

Что такое Drupal?

Drupal — это популярная система управления контентом с открытым исходным кодом, написанная на PHP. Созданный в начале 2000-х годов бельгийским студентом, он теперь поддерживает некоторые из наиболее известных веб-сайтов в Интернете (WhiteHouse.gov, Weather.com и т. Д.). Он часто рассматривается как конкурент CMS, таких как WordPress и Joomla.

Одним из наиболее важных компонентов проекта Drupal является его сообщество сторонников (участников, разработчиков, евангелистов, владельцев бизнеса и т. Д.). Видное место в этом сообществе занимает Ассоциация Drupal , ответственная за «содействие и поддержку проекта программного обеспечения Drupal, сообщества и его роста».

Гигантский скачок от своего предшественника, 8-й крупный релиз проекта Drupal только что вышел на прилавки. Это привело к серьезной модернизации его кода, практики и менталитета. Многие рассматривают этот сдвиг как реальный переход от традиционного понятия CMS к большей части инфраструктуры управления контентом (CMF), которая обеспечивает отличную платформу для создания сложных приложений.

В этой статье я собираюсь ответить на некоторые из наиболее частых вопросов, которые возникают у людей о Drupal при первом запуске или об этом:

  • Это мне подходит? На кого это направлено?
  • Как его можно установить и где я могу его разместить?
  • Как я могу начать работать с ним как разработчик?
  • Какие варианты у меня есть для расширения функциональности или стилизации?

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

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

Это больше не так. Особенно с выпуском Drupal 8, сообщество теперь продвигает новый менталитет повторного использования кода и лучшие практики в различных проектах с открытым исходным кодом. Активное участие в группе по взаимодействию PHP Framework является частью этих усилий, и использование ряда популярных компонентов Symfony в ядре Drupal 8 является свидетельством этого обязательства.

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

Традиционно в Drupal был относительно простой процесс установки , особенно для людей, которые, по крайней мере, разбирались в среде Linux. Проект просто нужно поместить в папку, которую может запустить ваш веб-сервер (который должен использовать PHP и иметь базу данных MySQL или MariaDB). Затем укажите ваш браузер на файл /install.php и выполните все остальное, /install.php следующие действия. Самый важный экран, который вы увидите, это тот, на котором вы выбираете конкретную базу данных для использования.

С точки зрения требований , среда стека LAMP (Linux, Apache, MySQL и PHP) всегда была фаворитом для запуска Drupal. Однако она никоим образом не ограничена этим. Существуют решения для его прямой установки на Windows или Mac (например, с помощью Acquia Dev Desktop ), а также на систему Linux, которая работает на других веб-серверах.

Самый простой подход, если вы используете собственные настройки, — это использовать сервер LAMP для хостинга. Для большей производительности вы можете заменить Apache на Nginx, но тогда вам придется позаботиться о какой-то конкретной конфигурации, которая иначе обрабатывается в файле .htaccess поставляется Drupal.

Однако, если вы не хотите поддерживать свой собственный хостинг-сервер, есть три основных поставщика специализированного управляемого хостинга на Drupal: Acquia , Pantheon и Platform.sh . Они также обеспечивают рабочий процесс для простых обновлений и процесса разработки. Кроме того, вы смотрите на полностью управляемый хостинг с компанией-разработчиком Drupal.

Разработка веб-сайтов на Drupal обычно была той вещью, которая вам либо нравилась, либо не нравилась вообще. Это потому, что когда вы впервые познакомились с Drupal, вы столкнулись с очень многими особенностями, которых вы не видели в других проектах. Так что, если они щекотали твои фантазии, ты любил их вечно.

С выходом с этого острова в Drupal 8 это уже не так. У вас все еще есть много Drupalisms, которые вы можете любить или ненавидеть, но теперь у вас также есть внешние компоненты, такие как Symfony или Guzzle и, что наиболее важно, более современный способ написания кода в целом (ООП, шаблоны проектирования, повторно используемые компоненты и т. Д.). ). Так что ваши навыки PHP в создании сайтов с Zend пригодятся.

Хороший способ начать разработку Drupal — это пройти несколько онлайн видео курсов. Есть несколько ресурсов, которые отлично подходят для этой цели, особенно Drupalize.me . Однако, если видео не является вашим любимым средством массовой информации, существует также множество письменных руководств и руководств, которые помогут вам начать работу. Проверьте следующие ссылки для некоторых из первых шагов, которые вы можете сделать:

Поскольку Drupal 8 является совершенно новым, вы найдете значительно больше учебного контента для Drupal 7. Тем не менее, в последнее время внимание сообщества смещается в сторону Drupal 8, поэтому вы можете ожидать, что все больше и больше этих ресурсов будут появляться. И если у вас нет опыта работы с какой-либо версией Drupal, лучше сосредоточиться исключительно на Drupal 8, так как изменения между ними велики и, возможно, вы столкнетесь с ненужными проблемами.

Основной точкой расширения базовой установки Drupal является ее модульная система.

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

Конечно, большинство из них все еще только для Drupal 6 и 7, но сообщество также догоняет и новейшую версию. Эта проблема также смягчается включением в Drupal 8 нескольких популярных дополнительных модулей, а также расширением возможностей того, что ядро ​​может делать из коробки (по сравнению с Drupal 7).

Наконец, пользовательские модули (те, которые вы пишете сами) — это основной способ добавить любую функциональность, которую вы хотите, и которая недоступна через добавленный модуль.

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

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

И помните о безопасности. Настоятельно рекомендуется обновлять как ядро ​​Drupal, так и любые добавленные модули, поскольку это значительно поможет вам обеспечить безопасность сайта и сервера (хотя это не гарантирует этого).

Слой стиля сайта Drupal обрабатывается (большей частью) своей темой. Темы похожи на модули в том, что они являются точкой расширения, но у них разные обязанности. Они содержат стили, интерфейсные библиотеки и в большинстве случаев файлы шаблонов, которые используются для вывода данных.

В Drupal 8 был достигнут значительный прогресс по сравнению с предыдущей версией: популярный движок Twig был адаптирован для шаблонов, тематика ограничена файлами шаблонов Twig, отладка и переопределение шаблонов стали намного проще и т. Д. Аналогично достижениям в Благодаря опыту внутренней разработки (DX), тематический слой стал более привлекательным для не-Drupal толпы. Разработчики фронт-энда теперь могут легко работать с темами Drupal без необходимости разбираться в тонкостях бэкенда.

Ядро Drupal поставляется с рядом тем, которые могут предоставить вам примеры, но также вы можете расширить их. Также добавлены темы, похожие на то, как существуют модули. В популярных интерфейсных средах, таких как Bootstrap или Zurb Foundation, есть зрелые реализации тем Drupal для Drupal 7, которые также готовятся к Drupal 8. Они очень хорошо работают в качестве базовых тем, но также и для быстрого создания веб-сайта и придания ему приличного вида.

Платные темы также доступны для ознакомления. Обычно они очень дешевые и быстро устанавливаются. Проблема с ними в том, что они стоят ровно столько, сколько вы за них платите, и обычно имеют зияющие дыры в их гибкости. Как новичок, эти темы могут показаться отличным способом создания сайта, и они вполне могут быть. Однако по мере продвижения вы научитесь избегать их и создадите свои собственные, основываясь на внешних разработках или даже простых шаблонах HTML / CSS / JS.

Drupal — это мощный инструмент для создания сайтов и платформ любого типа. С каждым новым основным выпуском Drupal демонстрировал стремление к самосовершенствованию, становлению более надежным и гибким, а также охватывал и внешние сообщества.