如何在我的app symfony中定义全局CONST变量?在symfony中定义全局变量的良好实践是什么? Mayby我应该创建界面并使用DI吗?
答案 0 :(得分:1)
您应该将变量添加到app/config/config.yml
;
# app/config/config.yml
parameters:
myVariable: 10
你可以使用它;
$this->getParameter('myVariable');
答案 1 :(得分:0)
如果它是一个常量,它就不会改变,换句话说:它不是一个参数。因此,将其放在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文件。