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?

Odpowiedzi:


20

Możesz użyć

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

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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.