


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 チュートリアルに興味のある友人にとって役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...
