亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Symfony 路由注釋中指定自定義數據

在 Symfony 路由注釋中指定自定義數據

PHP
慕娘9325324 2023-07-01 15:07:21
我正在使用 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>
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經驗 獲得超3個贊

更新:


因此,我做了更多的實驗,因為我收集的目的是在列出路線時使用“標簽”數據。我認為使用默認部分仍然更容易,但您可以使用路由集合訪問選項信息:


class PlayCommand extends Command

{

    protected static $defaultName = 'app:play';


    private RouterInterface $router;


    public function __construct(RouterInterface $router)

    {

        parent::__construct();

        $this->router = $router;

    }

    protected function execute(InputInterface $input, OutputInterface $output): int

    {

        $routes = $this->router->getRouteCollection();

        $route = $routes->get('index');

        $label = $route->getOption('label');

不確定是否有一種方法可以直接從樹枝內部獲取路線,但為此編寫一個樹枝擴展很容易。


原答案:


默認部分用于提供附加信息。


我很難找到選項部分的文檔。這篇博客文章討論了一些新選項,例如 utf-8 支持。我認為選項部分是由路由器使用的。不積極。


    /**

     * @Route("/", name="index", options={"label"="COMMMON_CLIENTMANAGEMENT"})

     */


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 168 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號