Se você atualizar um arquivo de rotas no Drupal 8, como limpar o cache?

10

Tendo trabalhado com o Drupal 7 desde o seu lançamento, estou aprendendo o Drupal 8. No momento, percebo que sempre que mudo qualquer coisa, preciso fazer drush cache-rebuildpara que as coisas funcionem novamente.

No meu VPS, isso leva 15 segundos (e o carregamento da próxima página também é lento). Tenho a sensação de que pode ser uma marreta para quebrar uma situação maluca.

Existe uma maneira mais eficiente de fazer com que o Drupal recompile as rotas (alteradas) dos {module}.routing.ymlarquivos?

artfulrobot
fonte

Respostas:

20

Você pode usar

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

para reconstruir as informações de roteamento sem limpar todos os caches.

Daniel Wehner
fonte
Handy. Leva apenas 3,5s, uma grande melhoria, muito obrigado. Pena que não há um comando drush para isso.
Artfulrobot
Certamente que um PR para adicionar algo drush cc seria aceito, é um caso de uso comum. Ou talvez como parte do "drush cc menu", que já existe, mas provavelmente não faz muito no D8.
Berdir
@Berdir Parece relevante? mas não fazer o mesmo que esta resposta diz: github.com/drush-ops/drush/commit/...
artfulrobot
Relacionado, mas que apenas invalida os links do menu, trata-se de links.menu.yml. Parece que também deve cobrir as rotas, tarefas locais e ações locais.
Berdir
Boa ideia berdir!
precisa
8

Uma alternativa ao drush é o console drupal , que você pode usar como:

drupal router:rebuild

O que é um pouco menos digitado do que a drush evresposta (e um pouco mais rápido também).

Para instalar o console drupal

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

ao usar o drush 9, faça o truque agora :-)

andsigno82
fonte