Como eu implemento rotas?

7

Como posso implementar a rota mais básica no Drupal 8? Quais arquivos eu tenho que escrever e quais classes eu preciso implementar?

Letharion
fonte

Respostas:

11

A implementação da rota mais básica no Drupal 8 requer:

  • O arquivo que contém as definições de roteamento (helloworld.routing.yml)

    helloworld.hi:
      pattern: '/helloworld'
      defaults:
        _controller: '\Drupal\helloworld\Controller\HelloWorldController::hi'
      requirements:
        _permission: 'access content'
    
  • Uma classe de controlador que retorna uma matriz de renderização ou uma cadeia de caracteres (src / Controller / HelloWordCOntroller.php)

    namespace Drupal\helloworld\Controller;
    
    class HelloWorldController {
      function hi() {
        return 'Hello world!';
      }
    }
    

Isso é equivalente ao que no Drupal 7 era a MENU_CALLBACK. A implementação de uma tarefa local ou de uma ação local requer a adição de outros arquivos, diferente do Drupal 7, em que uma guia local seria implementada usando o mesmo gancho usado para a MENU_CALLBACK.

Letharion
fonte