Symfony 4使用记录器并在控制器内转储
我是Symfony 4的新手,我正在使用profiler在开发环境中进行调试 我正在尝试调试controller/中的函数,但我无法使用记录器或转储文件,因此无法显示任何内容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
<?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
接下来的事情是在函数中重定向。所以你可以输出一些东西并重定向。在那个地方你看不到输出。例如,您必须在输出前停止代码,然后退出
。调用该方法时是否还有其他情况发生?如果发出重定向,是否检查跳过该重定向时是否打印输出?