簡體   English   中英

如何在 Symfony 框架中定義全局 CONST 變量?

[英]How Can I define global CONST variables in Symfony framework?

如何在我的應用程序 symfony 中定義全局 CONST 變量? 在 symfony 中定義全局變量的良好做法是什么? Mayby 我應該創建接口並使用 DI 嗎?

您應該將變量添加到app/config/config.yml

# app/config/config.yml
parameters:
    myVariable: 10

你可以使用它;

$this->getParameter('myVariable');

如果它是一個常數,它就不會改變,換句話說:它不是一個參數。 因此,將它放在 Symfony 配置文件中是沒有意義的,也不是最佳選擇。

在我看來,最佳實踐是在您使用的類中定義它:

namespace App\Entity;

class Foo {
    const MyConst = 'A value';

    /* ...... */

如果您在不同的地方需要它,您可以創建一個類來定義您的應用程序常量:

namespace App\Classes;

class Constants {
    const MyConst = 'Hello world!';

     /* ...... */

}

然后,您可以在任何需要的地方使用這個類:

namespace App\Controller\Frontend;

use App\Classes\Constants;

class FooController extends AbstractController
{
     /* ...... */

     public function bar()
     {
            echo Constants::MyConst;
      }

}

所有這一切都是基於它的值不依賴於環境的事實,如果不是這樣,你應該使用 .env 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM