Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Symfony框架中定义全局常量变量?_Php_Symfony - Fatal编程技术网

Php 如何在Symfony框架中定义全局常量变量?

Php 如何在Symfony框架中定义全局常量变量?,php,symfony,Php,Symfony,如何在我的应用程序symfony中定义全局常量变量?在symfony中定义全局变量的良好实践是什么? 也许我应该创建接口并使用DI吗?您应该将变量添加到app/config/config.yml # app/config/config.yml parameters: myVariable: 10 你可以使用它 $this->getParameter('myVariable'); 您应该将变量添加到app/config/config.yml # app/config/config

如何在我的应用程序symfony中定义全局常量变量?在symfony中定义全局变量的良好实践是什么?
也许我应该创建接口并使用DI吗?

您应该将变量添加到
app/config/config.yml

# app/config/config.yml
parameters:
    myVariable: 10
你可以使用它

$this->getParameter('myVariable');

您应该将变量添加到
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文件。

如果它是一个常量,它不会改变,换句话说:它不是一个参数。因此,将其放入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文件。

根据您的需要,您可以将它们放在config.yml中的参数下。您能否提供一个更具体的示例,说明如何使用这些变量?根据您的需要,您可以将它们放在config.yml的参数下。您能否提供一个更具体的示例,说明如何使用这些变量?