VarDumper призван заменить всем известную функцию var_dump() более современной и функциональной альтернативой — функцией dump().
Перед ее использованием убедимся, что DebugBundle подключен в AppKernel:
// app/AppKernel.php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
// ...
}
}
// ...
}
Теперь вы можете заменить все вызовы функции var_dump() на новый и более короткий dump(). В отличие от var_dump(), вы можете безопасно использовать dump(), чтобы отобразить содержимое любых переменных, включая переменные с циклическими ссылками, такие как сущности Doctrine.
Рассмотрим, для примера, контроллер, который целиком выводит контейнер Symfony и объект Request:
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction(Request $request)
{
dump($this->container, $request);
// ...
}
}
При отображении этого контроллера в браузере, вы увидите новую панель dump, которая записывает все запрошенные переменные и кратко показывает их содержимое:
При клике на панель вы получите полное содержимое этих переменных, включая информацию о ссылках, public/protected/private свойствах и методах, неограниченный уровень вложенности и т.д.:
В дополнение к интеграции с отладочной панелью Symfony, компонент достаточно умен, чтобы обнаружить, используете ли вы exit или die() в коде. В этих случаях переменные пишутся в стандартный вывод.
VarDumper также содержит тег {% dump %} и функцию {{ dump() }} для проверки переменных прямо из шаблонов Twig. Тег {% dump %} показывает переменные в отладочной панели (например, {% dump variable1, variable2 %}). Отличный вариант, когда вывод шаблона не должен изменяться.
Функция {{ dump() }} наоборот отображает содержимое переменных прямо в шаблоне (например, {{ dump(variable1, variable2) }}).
Компонент VarDumper поставляется с Symfony начиная с версии 2.6.0, но если какие-то ваши проекты застряли на версиях 2.3, 2.4 или 2.5, вы можете установить debug-bundle следующим образом:
$ composer require --dev tchwork/debug-bundle
Подробнее можно почитать в документации компонента VarDumper, а так же статью Расширенное использование компонента VarDumper.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Want something else to read? How about 'Grievous Censorship' By The Guardian: Israel, Gaza And The Termination Of Nafeez Ahmed's Blog
Комментариев нет:
Отправить комментарий