Jeśli zaktualizujesz plik tras w Drupal 8, jak wyczyścisz pamięć podręczną?

10

Pracując z Drupalem 7 od momentu jego premiery, uczę się Drupala 8. W tej chwili odkrywam, że za każdym razem, gdy coś zmieniam, muszę zrobić drush cache-rebuildwszystko, aby wszystko znów działało.

Na moim VPS zajmuje to 15 sekund (a następnie ładowanie następnej strony jest również wolne). Mam przeczucie, że może to być młot kowalski do zepsucia sytuacji.

Czy istnieje bardziej wydajny sposób, aby Drupal ponownie skompilował (zmienione) trasy z {module}.routing.ymlplików?

artfulrobot
źródło

Odpowiedzi:

20

Możesz użyć

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

odbudować informacje o routingu bez czyszczenia wszystkich pamięci podręcznych.

Daniel Wehner
źródło
Poręczny. Zajmuje tylko 3,5 s, duża poprawa, wielkie dzięki. Szkoda, że ​​nie ma na to komendy drush.
artfulrobot
Dość pewien, że PR dodający drush cc byłby zaakceptowany, jest to częsty przypadek użycia. A może jako część „menu drush cc”, które już istnieje, ale prawdopodobnie nie robi wiele w D8.
Berdir,
@Berdir To wygląda na istotne? ale nie robi tego samego, co mówi ta odpowiedź: github.com/drush-ops/drush/commit/…
artfulrobot
Powiązane, ale to tylko unieważnia łącza menu, więc chodzi o links.menu.yml. Wydaje się, że powinien on również obejmować trasy, lokalne zadania i lokalne działania.
Berdir
Dobry pomysł berdir!
Daniel Wehner,
8

Alternatywą dla drush jest konsola drupal , której możesz użyć jako:

drupal router:rebuild

Co jest nieco mniej drush evpisane niż odpowiedź (i tiny też trochę szybciej).

Aby zainstalować konsolę Drupal

curl -LSs http://drupalconsole.com/installer | php
mv console.phar /path/to/a/suitable/bin/drupal
artfulrobot
źródło
3
drush cc router    

używając Drusha 9, zrób to teraz :-)

andsigno82
źródło