我需要定义几个PHP常量,我需要在我的包中使用这个常量(控制器,自定义类,实体..)哪里有最好的位置来添加这个常量,这对他们来说很方便?
答案 0 :(得分:10)
为什么不创建一个类来存储常量并使用use
语句在需要的地方自动加载?
定义常量......
namespace My\CoolBundle\Constants;
class ConstantlyCool {
const DEFAULT_COOLNESS_LEVEL = "newbie";
const MAX_COOLNESS_LEVEL = "phpisuber01";
}
现在使用它们......
namespace My\CoolBundle\Controller;
use My\CoolBundle\Constants\ConstantlyCool;
class CoolController extends Controller {
public function awesomeAction() {
// Do cool stuff
$cool_level = ConstantlyCool::DEFAULT_COOLNESS_LEVEL;
return new Response(/* blah blah */);
}
}
答案 1 :(得分:2)
我的最佳解决方案是在Bundle Class中设置这些常量,如下所示:
<?php
namespace AppBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppBundle extends Bundle
{
const SITE_NAME = 'Watchdev AR';
}
并使用twig函数常量http://twig.sensiolabs.org/doc/functions/constant.html调用它们
在任何树枝文件中:
{{ constant('AppBundle\\AppBundle::SITE_NAME') }}
我认为这个解决方案遵循Symfony的最佳实践(在这种情况下没有实体)http://symfony.com/doc/current/best_practices/configuration.html
答案 2 :(得分:0)
班级样本 {const TEST_NUM = 10;}