Symfony2 缓存和参数


Symfony2 cache and parameters

我设置了一个奇怪的应用程序,多个子域都指向相同的Symfony2安装。

子域只是更改应用程序中的单个参数,以便加载不同的内容。

但是,此参数正在缓存,因此访问 a.site.com 然后访问 b.site.com 会使 A 的内容显示而不是 B 的内容。

我可以使用其他方法吗?

有没有办法将此参数添加到缓存的哈希或类似内容中,以便当应用程序中的参数更改时,内容可以更改。

我正在使用此方法将常量从子域传递到 Symfony2 应用程序中

如何在 Symfony 2 中传递一个 PHP 常量作为服务参数?

您可以使用Symfony的请求对象来获取URL并解析子域的URL。使用它来创建配置参数,因为它不会被缓存。

喜欢这个:

echo $request->getUri();

Symfony的API可能是一个很好的资源,但有点难以阅读 http://api.symfony.com/2.6/Symfony/Component/HttpFoundation/Request.html。

我最终编写了一个服务来解析主机名,然后该服务在我的控制器中可用。

class GameSystem {
    public function getGameSystemName()
    {
        $ar = explode(".", $_SERVER['HTTP_HOST']);
        $first = reset($ar);
        $game_system_short_name = strtolower($first);
        return $game_system_short_name;
    }
}

最初,我尝试使用在每个子域的索引文件中设置的常量值。但这失败了,产生了一些非常奇怪的影响。