2

私はsymfonyで書いていて、actions.class.phpファイルの1つにいます。

通常echoは変数の値だけですが、これはアクション クラス モジュールであるため、ページに出力できないため、それを行うことはできません。

FirePHP を使用することを考えていましたが、サーバー側にインストールする必要があり、より簡単な、または組み込みのソリューションを知りたいです。

4

3 に答える 3

2

ログを電子メールで送信することは確かに機能しますが、それを行うためのより優れた、より簡単で高速な方法がいくつかあります;)

symfony では、何でもログに記録できるロガーにアクセスできます。本番環境では、デフォルトで無効になっています (もちろん、オンに切り替えることができます) が、開発環境では、ログ ファイルで利用できるだけでなく、Sf Web デバッグ バーにも出力されます。

アクション内で次を使用します。

$this->getLogger()->debug('My $variable value is now: '.$variable);

他のレベルのログ ( ->warning('')->err('')->crit('')など) を使用することもできます。もちろん、変数が配列またはオブジェクトの場合は、変数を文字列に変更する必要があります。

echo実際、アクション中にvar_dump物事を行うことができます。それらはページに表示されます (ただし、実際のテンプレートの前に何かを表示しているため、レイアウトがひどく混乱します)。

echo文字列と数字のみで動作するRemeber です。ブール値または配列をエコーし​​ようとすると、何も表示されません。オブジェクトをエコーし​​ようとすると、その__toString()メソッドが使用されるか、エラーが発生します。

于 2013-03-01T08:20:19.420 に答える
1

サーバーのログ ファイルにアクセスできる場合は、PHP のerror_log関数を調べることをお勧めします。文字列が PHP のエラー ログに出力され、ログ ファイルを確認できます。

-edit-: error_log を使用すると、メッセージを自分自身に電子メールで送信することもできます。しかし、それはばかげています。

于 2013-02-28T22:41:15.817 に答える
1

コード全体で自分自身に電子メールを送信してください。スクリプトの最後または全体で送信できます。どちらにもメリットがあります。メールを最後まで送信すると、どこで問題が発生したかを簡単に知ることができます。メールを受信せず、最後にメールを送信するとオーバーヘッドが節約されます (ただし、ここでは問題になるとは思われません)。

于 2013-02-28T22:41:38.137 に答える