在 Symfony 路由注释中指定自定义数据

我正在使用 symfony 5,并将路由指定为注释。所以现在我需要随路线传递一些额外的数据。它不是路由的一部分,但我需要为每个路由都有一个值。所以我使用 options object 指定如下所示的路线options={"label"="COMMMON_CLIENTMANAGEMENT"}

它不会产生错误。所以我不确定它是否有效。此外,我无法从任何路由服务检索数据。

 *   
 * @Route("/client/list", name="client_list", options={"label"="COMMMON_CLIENTMANAGEMENT"})
 * @return \Symfony\Component\HttpFoundation\Response
 */

我想根据这些数据创建一个 html,就像<li href="{{path(route)}}">{{ label }}</li>


慕娘9325324
浏览 125回答 1
1回答

DIEA

更新:因此,我做了更多的实验,因为我收集的目的是在列出路线时使用“标签”数据。我认为使用默认部分仍然更容易,但您可以使用路由集合访问选项信息:class PlayCommand extends Command{&nbsp; &nbsp; protected static $defaultName = 'app:play';&nbsp; &nbsp; private RouterInterface $router;&nbsp; &nbsp; public function __construct(RouterInterface $router)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; parent::__construct();&nbsp; &nbsp; &nbsp; &nbsp; $this->router = $router;&nbsp; &nbsp; }&nbsp; &nbsp; protected function execute(InputInterface $input, OutputInterface $output): int&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $routes = $this->router->getRouteCollection();&nbsp; &nbsp; &nbsp; &nbsp; $route = $routes->get('index');&nbsp; &nbsp; &nbsp; &nbsp; $label = $route->getOption('label');不确定是否有一种方法可以直接从树枝内部获取路线,但为此编写一个树枝扩展很容易。原答案:默认部分用于提供附加信息。我很难找到选项部分的文档。这篇博客文章讨论了一些新选项,例如 utf-8 支持。我认为选项部分是由路由器使用的。不积极。&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* @Route("/", name="index", options={"label"="COMMMON_CLIENTMANAGEMENT"})&nbsp; &nbsp; &nbsp;*/
打开App,查看更多内容
随时随地看视频慕课网APP