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

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

如何在 Symfony 5 中獲取項目或根目錄

如何在 Symfony 5 中獲取項目或根目錄

PHP
慕后森 2023-05-12 16:06:26
我使用 Symfony 5 和 Solarium。我想在我的控制器(從 AbstractController 擴展)中獲取項目目錄(或根目錄)。我看到了一些關于內核、創建新服務等的答案。但是,它不只是一個調用項目目錄而不創建一些自定義服務等的函數嗎?謝謝 !
查看完整描述

2 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

您不需要為此提供任何服務。您可以從控制器中的容器中獲取。


$this->getParameter('kernel.project_dir');


另一種方法是將它綁定到 yaml 上。


    _defaults:

        bind:

            # pass this value to any $projectDir argument for any service

            # that's created in this file (including controller arguments)

            string $projectDir: '%kernel.project_dir%'

因此,您可以將每個服務和控制器作為$projectDir注入。


public class YourController {

   public function index(string $projectDir){

        // Your code

   }

}

public class YourService {

   public function __construct(string $projectDir){

        // Your code

   }

}

https://symfony.com/doc/current/configuration.html#accessing-configuration-parameters


查看完整回答
反對 回復 2023-05-12
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

從 Symfony 6.1 開始,您可以自動裝配參數

https://symfony.com/blog/new-in-symfony-6-1-service-autowiring-attributes


<?php

use Symfony\Component\DependencyInjection\Attribute\Autowire;


class MyService

{

    public function __construct(

        #[Autowire('%kernel.project_dir%/config/dir')]

        private $dir,

    ) {}

}


查看完整回答
反對 回復 2023-05-12
  • 2 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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