DBからクエリをプルダウンするときにテストデータを表示するための単純な$_GET[]
クエリ変数セットがあります。
<?php if($_GET['test']): ?>
<div id="test" style="padding: 24px; background: #fff; text-align: center;">
<table>
<tr style="font-weight: bold;"><td>MLS</td></tr>
<tr><td><?php echo KEY; ?></td></tr>
<tr style="font-weight: bold;"><td>QUERY</td></tr>
<tr><td><?php echo $data_q; ?></td></tr>
<tr style="font-weight: bold;"><td>DATA</td></tr>
<tr><td><?php var_dump($data); ?></td></tr>
</table>
</div>
<?php endif; ?>
var_dump
を実行すると、予想どおり、この大きな配列文字列がすべて一緒に押し込まれます。少なくともこれのために改行を追加する方法や、var_dump
をより読みやすい方法で表示する方法はありますか?ポストされた後の文字列の操作に関するjQueryの提案を受け入れています。
私はvar_export()
が大好きです。コピー/貼り付け可能なコードが好きなら、試してください:
echo '<pre>' . var_export($data, true) . '</pre>';
または、カラー構文の強調表示のために次のようなものでも:
highlight_string("<?php\n\$data =\n" . var_export($data, true) . ";\n?>");
事前にフォーマットされたHTMLコードを使用する
echo '<pre>';
var_dump($data);
echo '</pre>';
@AbraCadaverの回答に追加しました。 phpの開始タグと終了タグを削除するjavascriptスクリプトを含めました。もっときれいなダンプをきれいにします。
このような誰かかもしれません。
function dd($data){
highlight_string("<?php\n " . var_export($data, true) . "?>");
echo '<script>document.getElementsByTagName("code")[0].getElementsByTagName("span")[1].remove() ;document.getElementsByTagName("code")[0].getElementsByTagName("span")[document.getElementsByTagName("code")[0].getElementsByTagName("span").length - 1].remove() ; </script>';
die();
}
前の結果:
結果:
現在、PHPの開始タグと終了タグはありません
「すべて一緒に押しつぶされた」場合は、多くの場合、古い「ソースコードの表示」を試すことができます。時々、ダンプ、メッセージ、および例外は、改行が表示されないことが判明したときに、1つの長い文字列のように見えます。特にXMLツリー。
あるいは、この目的のために InteractiveVarDump という小さなツールを一度作成しました。確かに限界がありますが、時には非常に便利なこともあります。 PHP 5を念頭に置いて設計されていますが。
Nice var_dumpを取得する最も簡単で簡単な方法は、xDebugを使用することです(すべてのphp開発に必要)Debianの方法でインストールします
コンソールで:apt-get install php-xdebug
その後、/ etc/php/7.0/fpm/php.iniのphp.ini(使用するスタックによって異なります)を開く必要があります
display_errors
を検索
同じ設定-> display_errors = On
同じファイルのhtml_errors
を少し下にチェックしてください。これはOn
でなければなりません
保存して終了
/etc/php/7.0/fpm/conf.d/20-xdebug.ini
を開いた後
最後に追加します: `` `xdebug.cli_color = 1
`` `保存して終了します。
Xdebugのその他の多くの利用可能なオプションとドキュメントはここにあります。
頑張って楽しんでね !!!
debugVar()
の代わりにこれを使用できますvar_dump()
これは、かなりvar_dumpを使用するための私の関数です。 Xdebug と組み合わせることで、ダンプしているものをよりよく把握できるようになります。
Xdebugの表示を少し改善しました(いくつかのスペースを空け、値の間を区切り、長い変数をラップするなど)。
この関数を呼び出すとき、タイトル、背景、テキストの色を設定して、ページ内のすべてのvar_dumpを区別できます。
か否か ;)
/**
* Pretty var_dump
* Possibility to set a title, a background-color and a text color
*/
function dump($data, $title="", $background="#EEEEEE", $color="#000000"){
//=== Style
echo "
<style>
/* Styling pre tag */
pre {
padding:10px 20px;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
Word-wrap: break-Word;
}
/* ===========================
== To use with XDEBUG
=========================== */
/* Source file */
pre small:nth-child(1) {
font-weight: bold;
font-size: 14px;
color: #CC0000;
}
pre small:nth-child(1)::after {
content: '';
position: relative;
width: 100%;
height: 20px;
left: 0;
display: block;
clear: both;
}
/* Separator */
pre i::after{
content: '';
position: relative;
width: 100%;
height: 15px;
left: 0;
display: block;
clear: both;
border-bottom: 1px solid grey;
}
</style>
";
//=== Content
echo "<pre style='background:$background; color:$color; padding:10px 20px; border:2px inset $color'>";
echo "<h2>$title</h2>";
var_dump($data);
echo "</pre>";
}
function var_view($var)
{
ini_set("highlight.keyword", "#a50000; font-weight: bolder");
ini_set("highlight.string", "#5825b6; font-weight: lighter; ");
ob_start();
highlight_string("<?php\n" . var_export($var, true) . "?>");
$highlighted_output = ob_get_clean();
$highlighted_output = str_replace( "<?php", '', $highlighted_output );
$highlighted_output = str_replace( "?>", '', $highlighted_output );
echo $highlighted_output;
die();
}
このためのSymfonyパッケージがあります: https://symfony.com/doc/current/components/var_dumper.html 。