PHPデバッグ-ブレークポイントの設定場所認証方法[閉まっている]
-
19-08-2019 - |
質問
だから私は最近dump
、print_r
、echo
によるアドホックデバッグからいくつかのより洗練された方法への一歩を踏み出したところ、苦労しています。
Zend Framework、Aptana、およびZend Debuggerを使用しています。
現時点では、カスタムコントローラをデバッグしようとしていますが、メニューを使用して認証を行うため、ブレークポイントに到達できません。
質問:
- 認証の時点でアプリケーションを中断させ、ブラウザにログインし、特定のURIにナビゲートしてからデバッグを続行するにはどうすればよいですか
- MVCを使用してZend Frameworkにブレークポイントを設定するのに適した場所は何ですか?
解決
リクエストの途中で現在のユーザーの認証詳細を変更しますか?
これは可能だとは思わない。 Zend Debuggerは、ほとんど読み取り専用のツールです。たとえそうであったとしても、使用しているフレームワークがこれを処理できると仮定しています。つまり、内部状態の変化と入力データの変化を常に同期させようとする必要があります。
この特定の問題を解決する方法を尋ねる代わりに、認証を変更する必要がある理由を教えてください。デバッガでスクリプトを起動しているようですが、ユーザーセッションがないため失敗します。
Zend Debuggerにはブラウザツールバーがあります( http:// files.zend.com/help/Zend-Studio-Eclipse-Help/zend_debugger_toolbar.htm )を使用すると、現在のページのデバッガーを起動できます。デバッガーは、ブラウザーが送信したすべての情報(Cookie、投稿データなど)を保持します。<!> quot; debug next page <!> quot;もあります。 POSTフォームのデバッグに役立つ設定。これがあなたの望むもののようです。
他のヒント
次のような定数を設定する方が簡単ではないでしょうか
define('MODE_DEBUG', 1);
次に、認証プロセスをチェックインします:
if($obj->myLoginMethod() || constant('MODE_DEBUG') == 1){
}
誰もその定数に挿入することはできません。最悪の事態は、間違いを犯してデバッグモードを終了することです...
定義の前にチェックを入れることができます:
define('MODE_DEBUG', (false !== strpos($_SERVER['HTTP_HOST'], 'dev.mysite.com') ? 1 : 0));
たぶん、ダンプソリューションを再考する必要があるかもしれません(ブレークポイントを使用するというアイデアは好きですが、経験豊富でZend Studioを使用しているようにしゃっくりした後に元に戻りました)。アプリケーションをデバッグするには、Zend_Logと firebugライター。 firebugはログを firebug に出力します(注:< href = "http://www.firephp.org/" rel = "nofollow noreferrer"> firephp Firefoxの拡張機能もインストールされています)。ロガーをレジストリに保存すると、ビューを汚いダンプで混乱させることなく、多くのデバッグを実行できます。
Okので、zendデバッガーをもう少し試しました。 (あなたの質問が古い悪魔をかき立てました)そして、私はついに<!> quot; proper <!> quot;を見つけました。デバッグする方法。ログイン後にデバッグするための最初の質問に答えるには、firefoxまたはIE用のzendツールバーをインストールします。 [デバッグ]メニュー項目の右側に、いくつかのオプションを含むドロップダウンがあります。オプションの1つは<!> quot; next page <!> quot;です。そのため、ログイン画面に移動するには<!> quot; Next Page <!> quot;を選択します。資格情報を入力して送信すると、次のページがデバッグされます。