CakePHPクッキング

DebugKitの導入方法

開発環境:CakePHP2.5.1

CakePHPには標準でデバッグ機能がついているので、それでも十分効率的な開発を行うことができますが、もっと開発を便利にしてくれるのがDebugKitというプラグインです。
それでは導入方法を順を追って見ていきましょう。

DebugKitをgit clone

まず最初はGithub上に公開されているソースをgit cloneします。
https://github.com/cakephp/debug_kit

リネームして設置

git cloneしたファイルを DebugKit とリネームして app/Plugin/DebugKit に設置します。

bootstrap.phpに読み込む設定を追記

設置したDebugKitを読み込むために、app/Config/bootstrap.php に下記のコードを追加します。

CakePlugin::load('DebugKit');

AppControllerでインクルード

DebugKitの読み込みが完了したので、実際に利用するために app/Controller/AppController.php でコンポーネントを呼び出します。

class AppController extends Controller {
    public $components = array('DebugKit.Toolbar');
}

デバッグ設定を1以上にする

初期状態では app/Config/core.php の デバッグ設定が「2」になっていますので問題ありませんが、DebugKitを利用するには「1」以上にする必要があります。

Configure::write('debug', 1); 

標準のsql_dumpを削除

最後に標準でついているsql_dumpを削除します。app/View/Layouts/default.ctp に下記の記述がされています。

<?php echo $this->element('sql_dump'); ?>

DebugKitの設定完了

以上で、DebugKitの設定が完了となります。
この状態で初期画面をみてみると、下記のメッセージが表示されて正常に設置できたことが確認できます。

DebugKit plugin is present

Sql LogsではExplainも実行してくれる

Sql Logsの項目では、その名の通り、どのようなSQLを発行しているか確認でき、更にはExplainも実行してくれるので、わざわざコマンドを叩く必要がなくなりますね。

DebugKitの注意点

DebugKitを導入する上での注意点を2つ。

1.headタグを小文字で書く

DebugKitはheadの閉じタグを見つけて、下記のコードを挿入します。

<link rel="stylesheet" type="text/css" href="/debug_kit/css/debug_toolbar.css" />
<script type="text/javascript">
//<![CDATA[
window.DEBUGKIT_JQUERY_URL = "/debug_kit/js/jquery.js";
//]]>
</script><script type="text/javascript" src="/debug_kit/js/js_debug_toolbar.js"></script>

これは と小文字で書いた時に有効になるもので、 のように大文字で書くと反映されません。

2.layoutは必ず使う

<?php $this->layout = false; ?>

このようにレイアウトを使わないケースがあると思いますが、この場合、DebugKitが表示されません。
先ほどのようにheadタグがあればいいかと思い、ビュー内にheadタグを書いてもうまくいきませんので、DebugKitを使いたい時はレイアウトを必ず使うようにしましょう。

WordPressとCakePHPの共存

サイトを作るのに便利なWordPress。プラグインも数多く用意されて

サイトマップの作成方法

Googleのウェブマスターツールに渡すためのサイトマップの作成方法で

INSERTしたIDを取得する

データを保存した後にINSERTされたデータのIDを使って何かの処理を

ファイルの存在確認やフォルダー内のファイル一覧取得

特定のファイルの存在を確認したい場合や特定のフォルダー内にあるファイル

リンクの最後に常にスラッシュをつける方法

URLの最後に常にスラッシュをつけるかつけないかを統一する方法は、UR

countやsumを使う時のフィールド名を指定する

CakePHPでcountやsumなどを使う場合、ちょっとした工夫が必

Formの便利な使い方

問い合わせフォームや会員機能など、WEBサイトを作る際に必ず必要になる

ヘルパーをオーバーライドする

CakePHPで便利な機能が詰まったヘルパーですが、時々もう少しこうだ

特定の時だけSQLの条件を追加するならSet::mergeを使う

SQLの条件を追加したい時に使うのがarray_mergeなどですが、

ページネーションではDISTINCTではなく、GROUP BYを使う

重複したデータを省く時に使うDISTINCTですが、ページ送りで使う時

Model内で別のModelを呼び出す

モデル内で別のモデルを使いたいケースがあった場合、次のようにすることで

CakePHPでGoogleAnalyticsAPIを使う

CakePHPでGoogleAnalyticsを使う方法について見てい

独自のfindを定義するfindMethods

findをより便利に、よりスッキリ書くのに、findMethodsを使

TCPDFを使ってCakePHPでPDFを作成

CakePHPでPDFを作成するには幾つかの方法がありますが、今回はT

JavaScriptをコードの最下部に配置

SEOの観点からJavaScriptのコードは一番下に記述したいところ

無限スクロールをさせる

TwitterやFacebookのタイムラインを見ていて、ページの下に

PHPExcelの導入

ExcelにDBのデータを表示して一覧を作ったり、請求書などのフォーマ

Warning: SplFileInfo::openFile〜の警告が表示されたら

ShellとWEBの両方で同一のModelを呼び出す時に「Warnin

連結されていないデータを抽出

通常、テーブルを連結してデータを取得するには、アソシエーションを利用し

データを取得する

データを取得したい時に少し変わった条件で取得したい場合があります。

PAGE TOP ↑