読者です 読者をやめる 読者になる 読者になる

アラタナエンジニアブログ

aratana Engineer's Blog

Composerで便利なデバックライブラリを試してみる

PHP

こんにちは開発の工藤です。

PHPのデバックといえば var_dumpを使う機会が多いのですが、
デバック用のライブラリで気になった「PHP Debug Bar」を紹介します。

Composerをインストールする

さっそくサイトを見てみると、インストールにはどうやらComposerを使うようです。
まずはComposerを自宅で使っているMacにインストールしてみます。
ComposerのインストールにはPHP 5.3.2以上が必要でしたのでバージョンを調べてみると...

$php -v
PHP 5.3.26 (cli) (built: Jul 7 2013 18:30:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

わりと古いMacを使っており、PHPのバージョンが心配でしたが、これでひと安心です。
Composerをインストールしてコマンドを実行するとカッコいいロゴが表示されました。

f:id:kudo_teruaki:20150417044511p:plain

Macへのインストールには一癖ありましたが、こちらのサイトがとても参考になりましたwww.d-wood.com

デバックライブラリを指定する

composer.jsonファイルを作成してデバックライブラリを指定します。

{
  "require": {
    "maximebf/debugbar": "1.*"
  }
}

デバックライブラリをダウンロードする

インストールコマンドを実行すると vendorフォルダが作成され、
composer.jsonで指定したライブラリのパッケージがダウンロードされます。

$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing symfony/var-dumper (v2.6.6)
Loading from cache

- Installing psr/log (1.0.0)
Loading from cache

- Installing maximebf/debugbar (v1.10.4)
Loading from cache

symfony/var-dumper suggests installing ext-symfony_debug ()
maximebf/debugbar suggests installing kriswallsmith/assetic (The best way to manage assets)
maximebf/debugbar suggests installing monolog/monolog (Log using Monolog)
maximebf/debugbar suggests installing predis/predis (Redis storage)
Writing lock file
Generating autoload files

デバックライブラリを動かしてみる

ダウンロードしたライブラリのパッケージは vendor/autoload.phpをrequireして呼び出します。
こちらはサンプルコードになります。

<?php
require 'vendor/autoload.php';

use DebugBar\StandardDebugBar;

$debugbar = new StandardDebugBar();
$debugbarRenderer = $debugbar->getJavascriptRenderer('');

$debugbar["messages"]->addMessage("hello world!");
?>
<html>
<head>
    <?php echo $debugbarRenderer->renderHead() ?>
</head>
<body>
    ...
    <?php echo $debugbarRenderer->render() ?>
</body>
</html>

実行してみるとウィンドウ下部にChromeデベロッパツールのようなツールバーが表れました!
サンプルコードで指定した出力メッセージ "hello world!" が表示されてますね。
f:id:kudo_teruaki:20150417073740p:plain

PHP Debug Bar」では処理時間の計測やDataBaseの実行履歴の確認もできるようです。
使いこなせればこれからのデバックライフが充実すること間違いありません!
みなさんも試してみてはいかがでしょうか?