Symfony 4 с использованием Logger и Dump внутри контроллера - PullRequest
1 голос
/ 09 февраля 2020

Я новичок в 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())
    );
}

У меня нет ошибки, но просто не отображается моя отладка.

Есть идеи, что я делаю плохо?

1 Ответ

2 голосов
/ 09 февраля 2020

Обычно лучший способ определить маршрут - использовать аннотацию. Вы новичок, и я не знаю, как вы определили свой маршрут.

Но если кажется, что ваши функции не вызваны. Поэтому попробуйте установить маршрут и вызвать его в своем браузере.

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

Тогда вы сможете открыть свою функцию в браузере под http://yourdomain/mycrud. Тогда вы должны увидеть панель отладки и ваш var_dump.

Следующее, что вы перенаправите в своей функции. Таким образом, вы что-то выводите и перенаправляете. Вы не можете увидеть результат в этом месте. Вы должны остановить код перед выводом, например exit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...