symfony - Symfony 4 在控制器中使用 Logger 和 Dump
问题描述
我是 Symfony 4 的新手,我正在使用分析器在开发环境中进行调试。
我正在尝试调试控制器中的功能/但我不能使用记录器或转储没有出现。
<?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_dump
.
接下来是在函数中重定向。所以你输出一些东西并重定向。你看不到那个地方的输出。例如,您必须在输出之前停止代码exit
。
推荐阅读
- reactjs - RxDB - 使用现有的本地数据库
- php - 金额格式不正确,格式正确
- html - 预期的表或查询集,而不是 str
- javascript - 如何在将溢出用作滚动时动态更改元素的水平位置?
- reactjs - 使用 useRef react hook 时如何使用 jest 提交表单?
- postgresql - Postgres、大型数组和 MVCC
- c# - 无法加载文件或程序集以供项目参考
- django - 如何在 django 设置文件中添加相同站点无选项
- python-3.x - 在 Mayavi 中显示多个窗口
- reactjs - 用于 Visual 代码的 Microsoft Office 加载项调试器未找到 URL