Как исправить, что функция symfony dd показывает пустую страницу? - PullRequest
0 голосов
/ 24 июня 2018

версия Symfony 4.1.

Проблема: когда я использую dd, я вижу только пустую страницу. Тег body не содержит ничего. Выполнив небольшую перезапись, я обнаружил, что существуют разные типы отладочной информации: cli, html, server. И в моем случае сервис var_dumper.server_dumper использовался как класс отладчика. Я не знаю, Symfony так хорошо, чтобы сделать некоторые дальнейшие шаги. Я догадался, что есть файл конфигурации службы, где я могу передать html_dumper Но я не нашел связанных файлов. Документы Symfony также ничего не показывают о конфигурации. Странно, но гугл тоже не показывает релевантных результатов.

Хочу добавить, что я установил symfony 4.1, когда он был нестабильным, а затем использование dd/dump дало тот же результат. Но я недавно запустил composer update, и теперь у меня должна быть свежая версия Symfony. В течение долгого времени я использовал xdebug, но иногда гораздо проще сбросить переменную.

Обновление

Мой код:

namespace App\Controller\SuperAdmin;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class HomeController extends Controller
{
    /**
     * @Route("/", name="home")
     * @return Response
     */
    public function index()
    {
        dd(1);
        return $this->render('super-admin/home/index.html.twig');
    }
}

1 Ответ

0 голосов
/ 24 июня 2018

Обновление: Только что проверил, что Symfony 4.1.1 исправил эту проблему.dd теперь работает как положено из коробки.

Некоторые из них обсуждаются здесь: https://symfony.com/blog/new-in-symfony-4-1-vardumper-server

В основном, из коробки Symfony 4.1 имеет:

# config/packages/dev/debug.yaml
debug:
    # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
    # See the "server:dump" command to start a new server.
    dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"

Цель (я думаю) состоит в том, чтобы перехватить строки отладки и вывести их на консоль, используя:

bin/console server:dump

So dd (1);приведет к выводу в консоли, а также к пустой веб-странице в браузере.Не совсем уверен, что люди Symfony предполагали, что это поведение по умолчанию или нет.

Если вы хотите, чтобы dd (1) появлялся на вашей html-странице, измените назначение на null.

# config/packages/dev/debug.yaml
debug:
    dump_destination: null

В любом случае dump () продолжает работать, как и ожидалось.

Похоже, что это на самом деле ошибка: https://github.com/symfony/symfony/issues/27622

Должна быть исправлена ​​в следующей версии 4.1.x.

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