• статья
  • pantey

Drupal 8 – Первые впечатления

03.04.2014

Привет друзья, все мы наверное уже устали ждать, когда же разработчики все таки выпустят в свет первую, стабильную версию нового поколения Drupal. Не знаю как вы, а я жду этого момента с нетерпением, хотя честно говоря, оно уже заканчивается. И дело не в том, что 7я версия меня чем-то не устраивает - я ее считаю одной из лучших версий, а в том что тяга к чему то новому меня никогда не покидает. Сегодня просто хочу поделиться своими впечатлениями при работе с новой веткой Drupal. При написании статьи – доступна только альфа версия 8.0 – alpha 10. Скачать ее можно здесь

Инсталяция:

Весь процесс установки движка ничем не изменился, все так же необходимо скопировать файл default.settings.php, в каталоге sites/default, затем вставить его туда же и затем переименовать в settings.php. При установке движка, в глаза сразу же бросается измененный интерфейс, как по мне он стал лучше. На что же стоит обратить внимание, так это на минимально поддерживаемую версию PHP, теперь она не должна быть ниже 5.4 (любители использовать Denwer из коробки в пролете). Также есть приятный момент выбора языка еще при установке движка (правда у меня перевёлся он на половину). Установка происходит значительно дольше чем 7я ветка, так что есть повод добавить значения повыше в max_execution_time вашего файла php.ini. Что касается файловой системы, то есть так же изменения, теперь все файлы ядра (модули, темы, библиотеки и т.д.) расположены в папке core, для разработчиков сайтов теперь модули располагаются в папке modules, в корне сайта, а темы в папке themes , так же в корне сайта. Подключение дополнительных библиотек осталось без изменений, т.е. sites/all/libraries.

Интерфейс:

После установки движка, мы все так же наблюдаем страницу «Добро пожаловать», и сразу же видим измененный тулбар

Измененный тулбар в Drupal 8

Так же есть, опция которая меня очень порадовала – это редактирование контента без дополнительно перехода в overlay (если вы его использовали), а прямо со страницы контента (Inline редактирование)

Inline редактирование контента в Drupal 8

Так же появился встроенный редактор (CKEditor), который из коробки умеет загружать изображения в контент, без использования дополнительных модулей.

Встроенный CKEditor

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

Так же Drupal поддерживает адаптивный дизайн из коробки (для встроенных тем естественно, но это так же отображается и на тулбаре)

Адаптивный дизайн в Drupal 8

Модули:

Ну наконец-то, один из самых востребованных модулей Drupal – Views, все таки включили в ядро и кстати, не малую часть работы он взял под свое у правление, например как вывод материалов на главной или отображение блока «новые комментарии». Вот список представлений, которые идут из коробки:

Список представлений в Drupal 8 из коробки

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

Список удаленных модулей:

  • Dashboard
  • Poll
  • Blog
  • Profile
  • Open ID
  • PHP filter
  • Trigger

Но для тех, кто все таки хочет использовать и дальше эти модули в свои проектах, то может не переживать – они будут доступны в качестве отдельных модулей на d.org. Хотя по себе скажу, что мне они по сути не нужны, разве что только Trigger, но с приходом Rules и в нем отпадает необходимость.

Поля

Все мы наверное радовались, когда в D7 включили в ядро CCK и теперь пришло время дополнить его составляющую, а именно в Drupal 8 появились новые типы полей такие как:

  • Datetime - поля для ввода даты и времени или просто даты
  • Entity Reference – позволяет связывать контент между собой
  • Link – создание ссылки
  • Telephone – поле для ввода телефона

Ну а остальные остались без изменений.

Мультиязычность

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

Для разработчиков

Итак, теперь поговорим о внутренних изменениях движка. В новой версии шаблонизатором тем будет являться Twig, phpTemplate не будет поддерживаться (по крайней мере из коробки). Для тех, кто незнаком с данным шаблонизатором рекомендую все-таки начать потихоньку его изучать (официальный ресурс шаблонизатор http://twig.sensiolabs.org/), ибо релиз D8 не загорами. Twig имеет довольно не привычный синтаксис, но к которому потом очень быстро привыкаешь, да и в любом случае будет цикл статей про темизацию Drupal 8.

Внедрение использование ООП PHP. Так что для не знающих опять же есть чему учиться. Полный переход на ООП в D8 не произойдет, разработчики обещают это сделать в D9.

Частичное использование компонентов фреймворка Sympfony2, кстати Twig пришел оттуда же, список компонентов:

  • ClassLoader
  • EventDispatcher
  • Service Container
  • HttpKernel
  • Yaml
  • Serializer
  • Translation
  • Process
  • Validator

Для любознательных – описание и использование компонентов

Кстати, написание модулей теперь происходит через как раз один из компонентов – Yaml.

Появились, так называемые плагины, которые вроде как должны описывать систему хуков, на замену hook_info().

Мнение

Как по мне, разработчики очень сильно постарались и сделали ставку в сторону прогресса (ООП, Symphony2), но новый D8 кардинально отличается от 7ки и для его понимания теперь необходимо разобраться с моделью Symphony2, а на это опять же нужно время. Думаю останется еще много приверженцев, что нужно было оставаться так же на системе хуков и на привычном движке темизации, но как говорится учиться никогда не поздно, по крайней мере для меня. На этом все.

Возможные проблемы при установке:

При установке убедитесь, что у вас существует и подключен php_fileinfo.dll, до версии PHP 5.3 он шел отдельным модулем, начиная с версии PHP 5.3 и выше - включен в ядро. Для активации в php.ini добавьте (расскоментируйте) эту запись:

  1. extension=php_fileinfo.dll

Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (3)

Profile picture for user Anton
NIK
07.04.2014

По вашему перевести сайт с D7 на D8 будет легче чем с D6 на D7?

Profile picture for user pantey
pantey
07.04.2014

ну если вы использовали migrate и в D7, то и там обновление было не совсем сложное.

Profile picture for user shtrlz
shtrlz
25.02.2015

хотел вчера испытать D8 - пока не смог :)
столько они там всего понапихали, черт ногу сломит :)

и что характерно:
версия 6 - 1.23М
версия 7 - 3.54М
версия 8 - 16.3М !!!

они туда дистрибутив виндовса чтоль засунули? :)
и главное не понятно слету что можно почикать ненужного, чтоб сборку компактнее сделать.