FuelPHPによるMVCプログラミング入門

デバッグ機能を利用する

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
FuelPHPには、デバッグ機能や分析機能も搭載されているため、スクリプトの動きが遅かったり、おかしな動きをする場合にはこれで分析をすることができます。
講師:
08:18

字幕

ここでは、デバッグ機能の利用としましてFuelPHP に搭載されている各種のデバッグ機能を紹介していきたいと思います。スクリプトを組んでいくとどうしても思ったような動きにならなかったり何かおかしな現象が起こってしまったりということはよくあります。その様な時に手助けとなるメソッド群がFuelPHP には準備されていますので、それぞれ紹介していきましょう。では、まずは今回使うプロジェクトを紹介します。こちら lesson07-05 というフォルダにはFuelPHP をインストールし、更に classes のcontroller には item.phpmodel には item.phpそして views にもそれぞれ item の各ビューが準備されています。これはスキャフォールド機能を使って実装しました。そして、コンフィグの方ではapp の config の db.php はMAMP のデータベースに接続できるように設定を変更しています。そして config.php の方もまず、文字コード関係を整えています。そして orm パッケージを使うために、下の方でパッケージを使う部分でorm のコメントアウトを外しています。 これによって、今、こちらですね。item 画面の一覧画面にこの様なデータが表示されています。このデータはこちら、FuelPHP のデータベースのitems に格納されているデータ群で、こちらの入力画面から1つずつ入力していったものです。では、このプロジェクトを使ってデバッグ機能を試してみましょう。まず、例えばですけれども、こちら、item の controller のaction_index を見ていきましょう。こちらは、この様に find_('all') として、データを取ってきていますけれども、例えば、この時この data の items にはどの様な値が格納されているのかというのを一時的に確認したい場合があるかも知れません。その様な場合、PHP の標準の構文ではvar_dump と言い、変数の内容を dumpいわゆる、出力する機能があります。また例えば、print_r というような配列を成形して表示するというような機能もあります。ただ、こちら FuelPHP でデータベースから取得した値というのは残念ながらシンプルな配列などではなくオブジェクト構造になっていて、非常に、その内容を確認し辛くなっています。 そこで FuelPHP に搭載されているこちら Debug::dump という機能を使うと、非常に便利です。こちら Debug オブジェクトのdump という機能は実際に確認すると、この様な画面になります。基本的には PHP の var_dump と同様のものなんですけれども、少し便利に作られています。例えば、ここに青い矢印がありますけれども、これをクリックすると、この様にそのオブジェクトの内容をオープンすることができます。更に、その中のこちらの矢印もクリックすると、この様に、更に内容をオープンし、更に _data の所をクリックすれば、こんな形でデータベースの内容がきちんと取得できていることが確認できます。この Debug::dump という機能を使ってあげることで、複雑なオブジェクトの内容を解析したり、変数の内容を一気に解析したりということができますので、是非、便利に活用しましょう。次に、プロファイラという機能を紹介します。プロファイラはこちら、config.php の設定を変更すると、利用することができます。こちら 46 行目の所にprofiling という設定がありまして、標準では、ここは false になっています。 そのため、これを true に変更して、保存してみましょう。Web ブラウザでWeb ページをこの様に表示すると、右下の所に、この様なCode Profiler というタブが表示されます。これをクリックしてみましょう。すると、この様な画面が、今、表示されている画面の上に表示されます。これは何を意味しているのかと言いますと、例えば、このページの表示に何秒かかったのかであるとか、データベースにどのようなクエリいわゆる SQL が投げられたのか、メモリをどのくらい使い、ファイルがどのくらい含まれていて、といったような様々な情報を得ることができます。例えば、動作が非常に遅いであったりですとかデータベースからの問い合わせ結果がなかなか返ってこないなど、何かおかしな現象が起こっているという様な場合には、このプロファイラを true にして、内容を確認していくと良いでしょう。当然ながら、このプロファイラは公開する時には、必ず false にして、公開しなければなりませんので、気を付けて下さい、データベースのプロファイリングの結果を見るためにはこの config.php のprofiling を true にするほかに、こちらの db.php ...config の db.php の方のこちら、データベースの接続設定にある profiling も同じく true にしなければ、見ることができません。 こちらで動作を確認してみますと、この様に、右下のCode Profiler ボタンをクリックし、Database の所を見ると1 Queries と出ています。これをクリックすれば、この様な SQL が発行されて、これにスピードがこれくらいかかっているという様なことも確認することができるようになります。また、このプロファイラには自分で、そのアクションポイントを記録することもできます。例えば、このaction_index という画面こちらの画面の表示が異常に遅いなどの場合にはどこにその原因があるのかを探ることができます。そのためには Profiler::mark というメソッドを使っていきます。ここに好きなメッセージを記入しましょう。例えば、「Item_Index の開始」などとし、そして例えば、ここの所に1つ仕込んでみましょう。「DB 取得完了」といったようなメッセージを入れます。更に、ここに「Index 終了」といった様に記述していきます。すると、こちらプロファイラのCode Profiler を見ていきますと、こちら最初の画面ですね。ここに SPEED ということで、「Item_Index の開始」が54.106 マイクロ秒で開始されたと出ています。 そして、DB の取得がその後、76.202 マイクロ秒の所で終わっていると、更に、Index はその後76.407 マイクロ秒の所で終了しているという様なことが分かります。これによってどこの処理にボトルネックがあり、どこの処理が引っかかっているのかという様なことが計測できますので、非常に速度が遅いという様な時には分析をしてみると良いかもしれません。この様に FuelPHP には非常に見やすいプロファイラが準備されていますので、是非、この機能を使って自分のスクリプトの効率が悪かったりとか動きが遅かったりする場合には見直してみると良いでしょう。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。