繁体   English   中英

Symfony2缓存和参数

[英]Symfony2 cache and parameters

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

子域只需更改应用程序内的单个参数,即可加载不同的内容。

但是,此参数已被缓存,因此访问a.site.com然后访问b.site.com会使A的内容出现,而不是B的内容出现。

我可以使用另一种方法吗?

有没有一种方法可以添加此参数,缓存的哈希值或类似内容,以便在应用程序中更改参数时内容也可以更改。

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

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

您可以使用Symfony的Request对象获取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;
    }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM