Symfony 4使用记录器并在控制器内转储

Symfony 4使用记录器并在控制器内转储,symfony,symfony4,Symfony,Symfony4,我是Symfony 4的新手,我正在使用profiler在开发环境中进行调试 我正在尝试调试controller/中的函数,但我无法使用记录器或转储文件,因此无法显示任何内容 <?php namespace App\Controller; use Sonata\AdminBundle\Controller\CRUDController as Controller; use Sonata\AdminBundle\Datagrid\ProxyQueryInterface; use Symf

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

我正在尝试调试controller/中的函数,但我无法使用记录器或转储文件,因此无法显示任何内容

<?php

namespace App\Controller;

use Sonata\AdminBundle\Controller\CRUDController as Controller;
use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Psr\Log\LoggerInterface;

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\u dump


接下来的事情是在函数中重定向。所以你可以输出一些东西并重定向。在那个地方你看不到输出。例如,您必须在输出前停止代码,然后退出

调用该方法时是否还有其他情况发生?如果发出重定向,是否检查跳过该重定向时是否打印输出?