我正在尝试构建一个多租户的解决方案,使用现有的代码库,但与隔离的数据库,缓存和日志文件。
一种有效的方法是根据传入请求的域名动态计算以下内容:
- 数据库连接参数缓存文件夹日志文件夹
。我可以通过创建一个自定义过滤器类来做到这一点,但我不知道如何在Symfony2中做到这一点。
我的问题是:
如何根据传入请求修改symfon2应用程序的上述参数?
我同意Jurgis Gregov的观点。
你应该在你的web/app.php行修改:
$kernel = new AppKernel('prod', false);
:
$kernel = new AppKernel($_SERVER['HTTP_HOST'], false);
AppKernel的第一个参数是environment name之后,你可以在app/config中创建一个新的配置文件,名为:config_ 名称 .yml
在这里你可以设置学说配置。
你的缓存将在文件夹:app/cache/name
你的日志将在:app/logs/name.log(你也可以在config yml文件中设置日志路径)
我不知道是否有其他方法来改变学说参数,但我知道你也可以通过覆盖方法来改变日志和缓存文件夹:getLogDir()和getCacheDir()在你的app/AppKernel.php中,你可以使用REQUEST来设置它