我有一个问题,我没有设法在网上找到任何答案:我想知道是否有办法通过使用正面访问开发缓存(而不是prod) controller app.php而不是app_dev.php?
我需要这个用于管理界面,可以使用AJAX编辑翻译,就好像你在公共页面上一样(相同的设计,但你可以通过点击文本来编辑翻译),问题如果我不使用app_dev.php,并且我重新加载页面,那么Twig会从prod缓存中获取翻译,所以旧的。当然界面不适合我,但对于那些对编程一无所知的人来说,所以我希望它对他来说是透明的,他只需要访问管理页面,登录,直接进入开发缓存。
我尝试编辑app.php,将其与app_dev.php混合,具体取决于网址,但Symfony不喜欢我正在做的事情并向我发送一些错误(它可能我做错了我想做的事:p)。这是我的app.php代码:
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$path = explode('/', $_SERVER['PATH_INFO']);
if($path[1] == 'admin') // The URL to access the administration interface is something like http://www.mywebsite.com/admin[/...]
{
Debug::enable();
$kernel = new AppKernel('dev', true);
}
else
{
$kernel = new AppKernel('prod', false);
}
$kernel->loadClassCache();
Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
也许还有其他类型的解决方案,我有时会在论坛上看到一些人使用捆绑控制器中的方法直接访问缓存,但我不知道他们是如何做到的以及如何使用它。我对每个提案持开放态度! = d
谢谢!
阿德里安
答案 0 :(得分:1)
永远不要在生产中使用开发缓存,它会显着降低您的应用速度。每次管理员保存更改时,您只需重建缓存。