Symfony2 缓存和参数
Symfony2 cache and parameters
我设置了一个奇怪的应用程序,多个子域都指向同一个 Symfony2 安装。
子域仅更改应用程序中的单个参数,以便加载不同的内容。
但是这个参数正在被缓存,所以访问 a.site.com 然后 b.site.com 会出现 A 的内容而不是 B 的内容。
我可以使用其他方法吗?
有没有一种方法可以将此参数添加到缓存的哈希或类似内容中,以便当应用程序中的参数发生变化时,内容也可以发生变化。
我正在使用此方法将常量从子域传递到 Symfony2 应用程序
How to pass a PHP constant as service argument in Symfony 2?
您可以使用 Symfony 的请求对象来获取 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;
}
}
最初我曾尝试使用在每个子域的索引文件中设置的常量值。但这是失败的,并且产生了一些非常奇怪的影响。
我设置了一个奇怪的应用程序,多个子域都指向同一个 Symfony2 安装。
子域仅更改应用程序中的单个参数,以便加载不同的内容。
但是这个参数正在被缓存,所以访问 a.site.com 然后 b.site.com 会出现 A 的内容而不是 B 的内容。
我可以使用其他方法吗?
有没有一种方法可以将此参数添加到缓存的哈希或类似内容中,以便当应用程序中的参数发生变化时,内容也可以发生变化。
我正在使用此方法将常量从子域传递到 Symfony2 应用程序
How to pass a PHP constant as service argument in Symfony 2?
您可以使用 Symfony 的请求对象来获取 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;
}
}
最初我曾尝试使用在每个子域的索引文件中设置的常量值。但这是失败的,并且产生了一些非常奇怪的影响。