bonjour,

dans mon fichier example.routing.yml, j'ai un appel à un controller nommé "hello":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
example.default_controller_hello:
  path: 'example/hello/{name}'
  defaults:
    _content: '\Drupal\example\Controller\DefaultController::hello'
    _title: 'example Title'
  requirements:
    _permission: 'access content'
Remarquez que l'appel se fait avec un double 2 points ( :: ), qui est si je me rappelle bien , est un appel statique.
La function "hello" n'est pas préfixée par "static", pourquoi ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php
 
/**
 * @file
 * Contains Drupal\example\Controller\DefaultController.
 */
 
namespace Drupal\example\Controller;
 
use Drupal\Core\Controller\ControllerBase;
 
class DefaultController extends ControllerBase {
 
  /**
   * Hello.
   *
   * @return string
   *   Return Hello string.
   */
  public function hello($name) {
    return "Hello " . $name . " !";
  }
}

Merci d'avance