Якщо ви оновлюєте файл маршрутів у Drupal 8, як очистити кеш?


10

Працюючи з Drupal 7 з моменту його запуску, я навчаюсь Drupal 8. На даний момент я виявляю, що кожного разу, коли я щось міняю, я повинен робити, drush cache-rebuildщоб знову працювати.

На моєму VPS це займає 15 секунд (а потім завантаження наступної сторінки також відбувається повільно). У мене таке відчуття, що це може бути кувалда, щоб зламати ситуацію з горіхом.

Чи є більш ефективний спосіб змусити Drupal перекомпілювати (змінені) маршрути з {module}.routing.ymlфайлів?

Відповіді:


20

Можна використовувати

drush ev '\Drupal::service("router.builder")->rebuild();'

відновити інформацію про маршрутизацію, не очищаючи всі кеші.


Зручно. Займає лише 3,5 секунди, велике поліпшення, велике спасибі. Соромно, що для цього немає команди "удар".
artfulrobot

Досить впевнений, що PR, щоб додати ударний куб-центр, було б прийнятим, це звичайний випадок використання. Або, можливо, як частина меню "drush cc", яке вже існує, але, швидше за все, у D8 мало.
Бердір

@Berdir Це виглядає актуально? але це не так, як сказано у цій відповіді: github.com/drush-ops/drush/commit/…
artfulrobot

Пов’язано, але це просто приводить до недійсності посилань на меню, тому мова йде про links.menu.yml. Здається, він також повинен охоплювати маршрути, місцеві завдання та місцеві дії.
Бердір

Гарна ідея бердір!
Даніель Венер

8

Альтернативою барабану є консоль drupal , яку потім можна використовувати як:

drupal router:rebuild

Що трохи менше набирати, ніж drush evвідповідь (і крихітний шматочок теж швидше).

Щоб встановити консоль drupal

curl -LSs http://drupalconsole.com/installer | php
mv console.phar /path/to/a/suitable/bin/drupal

3
drush cc router    

при використанні drush 9 виконайте трюк зараз :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.