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

10

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

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

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

artfulrobot
источник

Ответы:

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
artfulrobot
источник
3
drush cc router    

при использовании drush 9 сделайте свое дело сейчас :-)

andsigno82
источник