我将以我对这个框架相当新手为序。
我正在使用symfony框架开发一个API。我在服务容器中添加了一个记录器,当我调用记录器时,这似乎没有问题。然后,我向记录器添加了另一个调用,以转储更多信息进行日志记录。这里没有什么疯狂或独特的。然而,这似乎并没有被调用。我的想法是为我的开发环境清除缓存,我做到了。即使清除了缓存,代码似乎仍然无法执行。
我的问题是:
- 我是不是少了一步?是否有任何预期的开发设置需要,也许我在
app_dev.php
中失踪了 - 清除缓存需要非常长的时间(~7分钟)。这是意料之中的正常情况吗
更新
开发是在vm(virtualbox)上进行的。当我循环这个框时,它会显示代码正在重建,因为现在可以看到我的更改。然而,这不是一个可行的发展解决方案。
我的app_dev.php
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$kernel = new AppKernel('dev', true);
//$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
如果您刚刚在代码中添加了对记录器的另一个调用,则无需在dev
环境中执行任何操作即可查看更改。我的猜测是,由于某种原因,您的代码没有调用记录器。使用Xdebug或简单的var_dump()
调用(在Symfony中,您可以使用dump()
,这是一个大大改进的var_dump()
)来检查您的代码是否到达记录器调用。
关于清除缓存所需的时间,确保休息根本不正常。即使在以速度慢著称的虚拟机上,即使对于复杂的应用程序,也最多只需要几秒钟。