ВОПРОС
Раньше для работы я использовал lavarel, но теперь я перешел на WordPress. У прежней рабочей среды была одна функция – DD(). Мне очень нравилось пользоваться ей, но в новой CMS я могу использовать только print_r(), var_dump(), var_export().
Проблема заключается в том, что все они просто расширяют массив и объект. А мне нужно, чтобы они сначала расширяли, а потом закрывали их. Я смог сделать замену:
if (!function_exists(‘dd’)) {
function dd()
{
echo ‘<pre>’;
array_map(function($x) {var_dump($x);}, func_get_args());
die;
}
}
Она работает и очень хорошо. Но я хочу, чтобы код был более организованным. Это можно как-нибудь реализовать?Полезно : Визуальные редакторы для страниц WordPress(Откроется в новой вкладке браузера)
ОТВЕТ
DD() от Lavarel работает с компонентом VarDump от Symfony. Он предоставляет глобальную функцию для форматирования выводимых данных. Единственная проблема – он не закроет объекты и это приходится делать вручную. Вообще я написал нужный код, и ты можешь просто воспользоваться им:
use SymfonyComponentVarDumperVarDumper;
if (! function_exists(‘dd’)) {
/**
* Dump the passed variables and end the script.
*
* @param mixed $vars
* @return void
*/
function dd(…$vars)
{
header(‘Access-Control-Allow-Origin: *’);
header(‘Access-Control-Allow-Methods: *’);
header(‘Access-Control-Allow-Headers: *’);
http_response_code(500);
foreach ($vars as $v) {
VarDumper::dump($v);
}
die(1);
}
}