Wenn Sie eine Routendatei in Drupal 8 aktualisieren, wie löschen Sie den Cache?

10

Nachdem ich seit dem Start mit Drupal 7 gearbeitet habe, lerne ich Drupal 8. Im Moment stelle ich fest, dass ich jedes Mal, wenn ich etwas ändere, etwas tun muss drush cache-rebuild, damit die Dinge wieder funktionieren.

Auf meinem VPS dauert dies 15 Sekunden (und dann ist auch das Laden der nächsten Seite langsam). Ich habe das Gefühl, dass dies ein Vorschlaghammer sein kann, um eine Nusssituation zu knacken.

Gibt es eine effizientere Möglichkeit, Drupal dazu zu bringen, die (geänderten) Routen aus {module}.routing.ymlDateien neu zu kompilieren ?

Kunstroboter
quelle

Antworten:

20

Sie können verwenden

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

um die Routing-Informationen neu zu erstellen, ohne alle Caches zu löschen.

Daniel Wehner
quelle
Praktisch. Dauert nur 3,5 Sekunden, eine große Verbesserung, vielen Dank. Schade, dass es dafür keinen Drush-Befehl gibt.
Artfulrobot
Ziemlich sicher, dass eine PR zum Hinzufügen eines Drush-CCs akzeptiert wird, ist ein häufiger Anwendungsfall. Oder vielleicht als Teil des "drush cc menu", das bereits existiert, aber in D8 wahrscheinlich nicht viel bewirkt.
Berdir
@Berdir Das sieht relevant aus? aber es tut nicht das gleiche wie diese Antwort sagt: github.com/drush-ops/drush/commit/…
artfulrobot
Verwandte, aber das macht nur die Menü-Links ungültig, so geht es um links.menu.yml. Es scheint, als sollte es auch die Routen, lokalen Aufgaben und lokalen Aktionen abdecken.
Berdir
Gute Idee berdir!
Daniel Wehner
8

Eine Alternative zu Drush ist die Drupal-Konsole , die Sie dann verwenden können als:

drupal router:rebuild

Das ist etwas weniger drush evtippen als die Antwort (und auch ein bisschen schneller).

So installieren Sie die Drupal-Konsole

curl -LSs http://drupalconsole.com/installer | php
mv console.phar /path/to/a/suitable/bin/drupal
Kunstroboter
quelle
3
drush cc router    

Wenn Sie Drush 9 verwenden, machen Sie jetzt den Trick :-)

andsigno82
quelle