Простий сайт на Drupal 7 можна створити, використовуючи лише адміністративний інтерфейс і простий текстовий редактор, але коли справа доходить до більш серйозного проекту, не обійтись без додаткових інструментів та потужних редакторів коду.
Інструменти розробника можна розділити на 2 типи:
- інструменти для back-end розробки;
- інструменти для front-end розробки;
Інструменти для back-end розробки
У цьому розділі познайомимося і навчимося користуватися модулем Devel, навчимось налаштовувати Drupal кодінг-стандарти. Також зробимо огляд модулів та плагінів, які спрощують розробку сайтів на Drupal.
Devel
Devel — модуль, який значно спрощує розробку сайтів на Drupal. Devel дозволяє:
- виводити інформацію про змінні в різних форматах;
- виводити список SQL запитів, виконаних при генерації сторінки;
- виводити інформацію про час, витрачений на генерацію сторінки і кількість використаної пам'яті;
- генерувати контент;
- очищувати кеш;
- виконувати PHP код з адмінки;
- виводити інформацію про всі сутності, які використовуються на сайті;
- виводити інформацію з hook_menu про поточну сторінку;
- показувати phpinfo ();
- виводити інформацію, що зберігається в змінній $_SESSION поточного користувача;
- виводити інформацію про всі зареєстровані хуки темізаціі, їх preprocess і process функції;
- керувати змінними, створеними за допомогою variable_set();
- працювати з профайлером XHProf.
Відлагоджувальні функції в Devel:
- dpm($var) - виводить інформацію про змінну у вигляді системного повідомлення, використовуючи Krumo
- dvm($var) - виводить інформацію про змінну у вигляді системного повідомлення, використовуючи var_dump ($ var
- dpr($var, $return = false) - виводить інформацію про змінну вгорі сторінки, використовуючи print_r ($ var, $ return)
- dvr($var, $return = false) - виводить інформацію про змінну вгорі сторінки, використовуючи var_dump ($ var, $ return)
- kpr($var, $return = false) - виводить інформацію про змінну вгорі сторінки, використовуючи Krumo
- dargs() - виводить інформацію про аргументи поточної функції вгорі сторінки, використовуючи Krumo
- ddebug_backtrace() - виводить стек виклику функцій вгорі сторінки, використовуючи Krumo
- db_queryd($query, $args = array()) - Функція db_queryd (), це дебаг версія db_query (), яка після виконання запиту $ query, виводить його вгорі сторінки.
Приклад використання функції dpm():
Drupal For Firebug
Також полегшити собі роботу розробник може, встановивши модуль Drupal For Firebug. Встановивши цей модуль і плагін для Firefox, маємо можливості Devel у вашому Файрбазі. На мою думку, це дуже корисне розширення.
Для виведення інформації про змінну у файрбазі потрібно використовувати функцію firep($var, $your_message).
Приклад роботи:
Для того щоб девелоперам, які читають ваш код, не здавалось, що вони потрапили в джунглі, потрібно завжди дотримуватись кодінг-стандартів. Як добре, що у PhpStorm додано підтримку кодінг-стандартів. Шлях для відкриття налаштувань кодінг-стандартів виглядає так: File->Settings->Code Style-> далі обираємо мову, для якої необхідно зробити налаштування. Для Php вікно налаштувань виглядає так:
Для форматування коду згідно кодінг-стандартів необхідно у вкладці Code обрати пункт меню Reformate code або використати скорочення клавіш CTRL+ALT+L. В результаті з’явиться ось таке вікно:
Після цих маніпуляцій цей жах:
перетворився на читабельний для людини код:
Форматування коду можна здійснювати як для файлів в цілому, так і для виділеної частини файлу.
Coder
Для перевірки своїх модулів на відповідність кодінг-стандартам можна використовувати модуль Coder. Coder провіряє файли модуля на відповідність кодінг стандартам і вказує на місця де вони не дотримані.
Ось, наприклад, зауваження Coder до моєї теми:
Coder вказує на тип і місце помилок, завдяки цьому можна швидко привести код своїх модулів та тем до кодінг-стандартів і не бути затроленим юзерами Drupal.org та своїми колегами.
Drush
Дуже корисною утилітою для Drupal-розробника є Drush. Drush дозволяє керувати сайтом із терміналу. Для встановлення Drush спочатку необхідно встановити бібліотеку pear. Для цього у вікні терміналу вводимо команду:
sudo apt-get install php-pear
Встановлюємо Drush:
sudo pear channel-discover pear.drush.org
sudo pear install drush/drush
Далі перевіряємо встановлення:
sudo drush status
Нижче наведено найкорисніші Drush-команди:
- drush cc all - очищення всіх кешів сайту;
- drush dl module - команда для завантаження модулів;
- drush en module - команда для увімкнення модулів;
- drush dis module - команда для вимкнення модулів;
- drush sql-dump > /dump.sql - робить бекап бази даних;
- drush sql-cli < /dump.sql - заливає дамп на сайт;
- drush vget var_name - отримує значення змінної;
- drush vset var_name - встановлює значення змінної.
Drupal Project Lookup
Розширення для Chrome Drupal Project Lookup дозволяє швидко перейти на сторінку проекту Drupal із адресного рядка. Для пошуку проектів на Drupal.org необхідно в адресному рядку браузера ввести dpl + назва проекту, який хочете знайти.
Інструменти для front-end розробки
На даний момент існує велика кількість плагінів та розширень для браузерів, які значно полегшують життя верстальникам.
Першим розглянемо розширення для браузера PerfectPixel. Дане розширення дозволяє накладати макет сайту на представлення сайту в браузері. Завдяки PerfectPixel не потрібно наосліп підбирати марджіни і падінги. Ось адреса для завантаження Perfect Pixel.
Наступним корисним розширенням є Eye Dropper. Дане розширення дозволяє отримати код кольору будь-якого елементу з веб-сторінки, крім того, дозволяє підібрати колір і отримати його hex-код, а також код в палітрах rgb, hsl.
Верстальникам часто доводиться перевіряти вигляд свого сайту на різних розширеннях моніторів. Для швидкої перевірки на стандартних або вказаних розширеннях доцільно використовувати розширенння Viewport Resizer.
Наступним у списку є розширення для браузера Page Ruler. Page Ruler - “лінійка”, яка дозволяє вимірювати відстані між елементами, їх розміри.
Для перевірки підтримки css властивостей браузерами можна використовувати сервіс Сaniuse.
Сервіси для темінгу елементів форм, створення анімацій та градієнтів:
- Button Generator - це потужний інструмент, який дозволяє створювати красиві і стильні веб-кнопки.
- CSS Matic - дозволяє генерувати градієнти, границі.
- CSS Animate - дозволяє створювати css анімацію.
Сподіваюсь, цей огляд модулів і плагінів для фронт-енд і бек-енд розробки був корисним для вас. Полегшуйте собі роботу "розумними" інструментами, дотримуйтесь кодінг-стандартів Drupal і насолоджуйтесь чудовими результатами!