Symfony 4在控制器中使用记录器和转储



我是Symfony 4的新手,我正在使用分析器在开发环境中进行调试。

我正在尝试调试控制器中的函数/但我无法使用记录器或转储,没有任何内容出现。

<?php
namespace AppController;
use SonataAdminBundleControllerCRUDController as Controller;
use SonataAdminBundleDatagridProxyQueryInterface;
use SymfonyComponentHttpFoundationRedirectResponse;
use SymfonyComponentHttpKernelExceptionNotFoundHttpException;
use PsrLogLoggerInterface;
class CRUDController extends Controller
{
private $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}
public function batchActionDownload(ProxyQueryInterface $selectedModelQuery)
{
$this->logger->debug('exampleMethod :: $ourVar at interesting time', [
'our_var' => $selectedModelQuery
]);
var_dump($selectedModelQuery);
dump($selectedModelQuery);
return new RedirectResponse(
$this->admin->generateUrl('list', $this->admin->getFilterParameters())
);
}

我没有错误,只是我的调试没有显示。

知道我做坏了什么吗?

通常,定义路由的最佳方法是使用注释。你是新来的,我不知道你已经定义了你的路线。

但是,如果似乎没有调用您的函数。因此,请尝试设置路由并在浏览器中调用它。

/**
* @Route("/mycrud", name="mycrud")
*/
public function batchActionDownload(ProxyQueryInterface $selectedModelQuery)

然后,您应该能够在浏览器中打开您的函数http://yourdomain/mycrud.然后你应该看到调试栏和你的var_dump

接下来的事情是你在函数中重定向。所以你输出一些东西并重定向。您无法在该位置看到输出。例如,您必须在使用exit输出之前停止代码。

最新更新