Если вы обновляете файл маршрутов в Drupal 8, как вы очищаете кеш?


10

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

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

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

Ответы:


20

Ты можешь использовать

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

восстановить информацию о маршрутизации без очистки всех кешей.


Handy. Только занимает 3,5 с, большое улучшение, большое спасибо. Жаль, что для этого нет команды drush.
artfulrobot

Уверен, что PR, чтобы добавить что-то в Drush cc, будет приемлемым, это общий случай использования. Или, может быть, как часть «меню drush cc», которое уже существует, но, вероятно, мало что делает в D8.
Бердир

@Berdir Это выглядит актуально? но он не делает то же самое, что говорит этот ответ: github.com/drush-ops/drush/commit/…
artfulrobot

Связано, но это просто делает недействительными ссылки в меню, поэтому речь идет о links.menu.yml. Похоже, что это также должно охватывать маршруты, локальные задачи и локальные действия.
Бердир

Хорошая идея Бердир!
Даниэль Венер

8

Альтернативой drush является drupal console , который затем можно использовать как:

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.