PHP
var-dumper

var-dumperのスタイルシートを上書きする関数を作ってみた

Laravelのコードリーディングをしている時に、オブジェクト($app)などの中身を調べるのにvar-dumperdump()を使っていました。

かなり便利な関数なのですが、CSSが見づらいです。

以下のコードでdump()を使っていると・・・


resources/views/test.blade.php

$route_collection = (array)(((array)$app)["\0*\0instances"]["routes"]);

dump($route_collection);

このような出力になります。

dumper.JPG

#000000の背景に#ffffffの文字や、<pre>の外の<body>の背景色(#ffffff)で目が痛くなってきます。

なので目にやさしい<style>を作ることにしました。


app/helpers.php

<?php

if (! function_exists('dump_css')) {
/**
* style sheet for var-dumper
*
* @return void
*/

function dump_css()
{
$css = "<style>
pre.sf-dump, pre.sf-dump .sf-dump-default {
font: 20px Arial, Helvetica, sans-serif;
background-color: #dddddd;
color: #4c4c4c;
}
pre.sf-dump .sf-dump-note {
color: #012c42;
font-weight: bold;
}
pre.sf-dump .sf-dump-key {
color: #2d771d;
font-size: 22px;
}
pre.sf-dump .sf-dump-public {
color: #777777;
font-size: 22px;
}
pre.sf-dump .sf-dump-protected {
color: #3a3a3a;
}
pre.sf-dump .sf-dump-str {
color: #2d6021;
}
pre.sf-dump .sf-dump-ellipsis {
color: #ad5b03;
}
pre.sf-dump .sf-dump-meta {
color: #736377;
}
</style>"
;

echo $css;
}
}


するとこうなります。

dump-after.JPG

かなり見やすくなりました。