ホームページ >バックエンド開発 >PHPチュートリアル >yii CWebLogRoute を使用して変数のログを記録し、デバッグする方法 ルート削除 ルート追加 デフォルトの gw linux ルート広告
はじめに
PHP コード (firePHP など) をデバッグするための外部ライブラリの使用に関するいくつかの記事を読みましたが、この記事を読むと、Yii でこれらの外部ライブラリを使用する必要がないことがわかります。 Yii には強力なロギング クラスが組み込まれています。ロギングのドキュメントを読むと、どのログを記録するかを決定できることがわかります。これはまさに、CWebLogRoute を使用して Yii バージョンの FirePHP を作成することによって行われることです。
設定
protected/config/main.php 設定ファイルに設定を追加します:
<code><span>'log'</span>=><span>array</span>( <span>'class'</span>=><span>'CLogRouter'</span>, <span>'routes'</span>=><span>array</span>( <span>array</span>( <span>'class'</span>=><span>'CWebLogRoute'</span>, <span>//</span><span>// I include *trace* for the</span><span>// sake of the example, you can include</span><span>//</span><span>// more levels separated by commas</span><span>'levels'</span>=><span>'trace'</span>, <span>//</span><span>// I include *vardump* but you</span><span>// can include more separated by commas</span><span>'categories'</span>=><span>'application.*,system.db.*,vardump'</span>, <span>//</span><span>// This is self-explanatory right?</span><span>'showInFireBug'</span>=><span>true</span> ), ), ),</code>
準備ができたので、次のように変数をトレースしてテストしましょう:
<code><span>public</span><span><span>function</span><span>actionTrace</span><span>()</span>{</span><span>$test</span> = <span>'This is a test'</span>; <span>$anotherTest</span> = <span>array</span>(<span>'one'</span>,<span>'two'</span>,<span>'three'</span>); <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$test</span>),<span>'vardump'</span>); <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$anotherTest</span>),<span>'vardump'</span>); <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$this</span>),<span>'vardump'</span>); }</code>
Yii の FirePHP 関数
上記 コードは次のとおりです。書くのに比較的長いので、Qiang の提案を使用しましょう。index.php ページに次のような FirePHP 関数を書きましょう:
<code><span>public</span><span><span>function</span><span>actionTrace</span><span>()</span> {</span><span>//</span><span>// In your index.php or your globals.php file</span><span><span>function</span><span>fb</span><span>(<span>$what</span>)</span> {</span><span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$what</span>), <span>'vardump'</span>); } <span>// </span><span>// using the above examples now we could</span><span>$test</span> = <span>'This is a test'</span>; fb(<span>$test</span>); }</code>
OK、すべて完了しました。デバッガーでは外部クラスは使用されていません。
補足
このメソッドchromephp プラグインをインストールする必要はなく、Firebug ブラウザ、Opera、Chrome、Firefox などで使用できます。
').addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
').text(i)); }; $numbering.fadeIn(1700); }); });上記では、Yii が CWebLogRoute を使用してルートや eblog コンテンツを含む変数を記録およびデバッグする方法を紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。