(16) 981791110 contato@policast.studio

1. O que é o DebugBundle?

O DebugBundle é uma ferramenta fornecida pelo Symfony para ajudar os desenvolvedores a depurar e corrigir problemas em suas aplicações. Ele fornece uma série de recursos úteis, como a capacidade de visualizar informações de depuração no navegador, depurar o conteúdo da solicitação e da resposta do aplicativo e gerar perfis de desempenho.

2. Como instalar o DebugBundle?

Para instalar o DebugBundle, basta adicioná-lo ao seu arquivo composer.json e executar o comando “composer update” para instalar as dependências. Depois disso, é necessário registrar o bundle no arquivo AppKernel.php da sua aplicação.


// app/AppKernel.php
public function registerBundles()
{
$bundles = [
// ...
new SymfonyBundleDebugBundleDebugBundle(),
// ...
];

// ...
}

3. Quais são os recursos do DebugBundle?

O DebugBundle fornece uma série de recursos úteis para debugging, incluindo:

  • Barra de debug no navegador
  • Profiler no navegador
  • Dumpers de variáveis
  • Mensagens de log
  • Recurso de interceptação de exceções
  • Recurso de interceptação de erros de PHP
  • Modos de cache e de Debugger desativados para desenvolvimento

4. Como usar a barra de debug no navegador?

Uma das características mais úteis do DebugBundle é a barra de debug no navegador. Ela exibe informações úteis sobre a solicitação atual do usuário, como rotas, consultar parâmetros e informações de perfil de desempenho. Para ativá-la, basta adicionar o seguinte código ao seu arquivo de configuração do Symfony:


# app/config/config_dev.yml
web_profiler:
toolbar: true

5. Como usar o Profiler no navegador?

O Profiler é um recurso do DebugBundle que permite monitorar e analisar o desempenho da sua aplicação. Ele exibe informações detalhadas sobre cada solicitação feita ao seu aplicativo, como a rota usada, os controladores envolvidos, as consultas executadas no banco de dados e muito mais. Para usá-lo, basta adicionar o seguinte código ao seu arquivo de configuração:


# app/config/config_dev.yml
web_profiler:
toolbar: true
intercept_redirects: false

6. Como usar Dumpers de variáveis?

O DebugBundle fornece uma série de “dumpers” de variáveis que podem ajudar a depurar problemas em sua aplicação. Por exemplo, você pode usar o método “dump” para imprimir os valores de uma variável diretamente no navegador. Aqui está um exemplo:


// src/AppBundle/Controller/DefaultController.php
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentVarDumperVarDumper;

public function indexAction(Request $request)
{
$data = array('hello' => 'world');
VarDumper::dump($data);

// ...
}

7. Como usar as mensagens de log?

O DebugBundle fornece uma série de “loggers” que permitem registrar mensagens de depuração diretamente nos arquivos de log da sua aplicação. Por exemplo, você pode usar o seguinte código para registrar uma mensagem de log:


// src/AppBundle/Controller/DefaultController.php
use PsrLogLoggerInterface;

public function indexAction(Request $request, LoggerInterface $logger)
{
$logger->info('Hello world!');

// ...
}

8. Como usar o recurso de interceptação de exceções?

O DebugBundle pode interceptar exceções em sua aplicação e fornecer informações úteis sobre elas, como a pilha de chamadas e o código-fonte relacionado. Para ativá-lo, basta adicionar o seguinte código ao seu arquivo de configuração:


# app/config/config_dev.yml
debug:
throw_exception_listener: true

9. Como usar o recurso de interceptação de erros de PHP?

O DebugBundle também pode interceptar erros do PHP em sua aplicação e exibir informações úteis sobre eles, como a linha de código exata onde o erro ocorreu. Para ativá-lo, basta adicionar o seguinte código ao seu arquivo de configuração:


# app/config/config_dev.yml
debug:
error_handler: true

10. Como desativar o cache e o modo de depuração em produção?

Para garantir que sua aplicação execute com mais rapidez e segurança em um ambiente de produção, é importante desativar o cache e o modo de depuração fornecidos pelo DebugBundle. Para fazer isso, basta adicionar o seguinte código ao seu arquivo de configuração:


# app/config/config_prod.yml
imports:
- { resource: config.yml }

framework:
debug: false
profiler: { only_exceptions: false }

web_profiler:
toolbar: false
intercept_redirects: false