it-swarm.com.de

Wie erhalte ich das Route-Objekt von einer URI?

Wie kann ich das vollständige Url -Objekt abrufen, wenn ich ein Route -Objekt oder sogar eine einfache Zeichenfolgendarstellung eines Pfads wie /node/2 Habe?

6
pfrenssen

Sie können diese Informationen vom Symfony-Router abrufen. Dies kann in Drupal über den Dienst router.no_access_checks Zugelassen werden.

Wenn Sie einen einfachen Pfad haben (beachten Sie, dass der Pfad einen führenden Schrägstrich aufweist):

$router = \Drupal::service('router.no_access_checks');
$result = $router->match('/node/2');

Wenn Sie ein Url Objekt haben:

$router = \Drupal::service('router.no_access_checks');
$result = $router->match($url->toString());

Dadurch wird ein Array zurückgegeben, das das Routenobjekt sowie andere nützliche Informationen wie den Routennamen und die Routenparameter, den Controller, den Titelrückruf und sogar das durch die URL dargestellte Entitätsobjekt enthält.

9
pfrenssen