19

私はルビーに少し甘やかされておりpry、アプリの素晴らしい機能を使用することに慣れています。アプリを 1 つのスレッドにロックしてから、httpd コンソールでこじ開けて、多くの問題の根底にたどり着くことができますが、PHP で利用できるようなものは見つかりません。実行中にデータ構造などをデバッグおよびトレースするために、PHP でこのように機能する類似または承認されたソリューションはありますか?

4

6 に答える 6

17

私はあなたが何を意味するかを正確に知っています。私もPHPに移行した後、Pryが恋しくなりました。これまでのところ、 PsySHは Pry に最もよく似た PHP 用の最高の REPL のように見えます。リフレクションがあるため、変数、定数、クラスなどを評価するコマンドを使用できます。関数やオブジェクト プロパティに関するドキュメントを読むことができるlsPry と同様のヘルプ コマンドがあります。show-docPry のshow-sourceコマンドと同じように、任意のオブジェクトのソースを表示することもできます。デバッグも:

「PsySH は、JavaScript の debugger ステートメントと同じように、インタラクティブなデバッガーとして使用でき、var_dump() と die() の無限の繰り返しからあなたを救います。ブレークポイントを設定したい場所に次の行をドロップするだけです:

\Psy\Shell::debug(get_defined_vars());"

Borisも、Pry に似た PHP 用の優れた REPL です。

于 2014-04-24T02:04:48.217 に答える
0

私もこじ開けのようなものを見ていますが、これは似たようなことを達成するのに役立ちました: http://proger.i-forge.net/Triggering_XDebug_session_from_command_line/ODd

于 2013-07-11T16:32:54.593 に答える
0

PHP は Ruby とは動作が異なります。質問しているコンテキスト内で比較するのはちょっと難しいです。

ランタイム内の複雑な構造の検査は、デバッグを介して PHP で行われます。つまり、クライアントのデバッグ側 (= PHP IDE) は、PHP を実行しているサーバーのデバッグ側と通信できる必要があります (これは、通常、URL DBGSESSID などを介して、特別な名前で Cookie を開始することによって行われます)。 =123&dbgParam1=123)。

そのため、Web サーバー上の PHP には特別なデバッグ モジュール (XDebug など) がインストールされている必要があり、debugging-client が「今すぐ停止」と言うと、Web サーバーは特定のブレークポイントで実行を一時停止し、ローカル、グローバル、静的などのデータ構造を公開します。

興味がある場合は、デバッグをサポートする利用可能な PHP IDE を調べてください: What is the best IDE for PHP?

于 2014-04-24T13:14:53.593 に答える
0

私はRubyとpryにはあまり興味がありませんが、トピックを読んだ限りでは、pryはデバッグツールです。PHP のデバッグには、xDebug が組み込まれた wamp というローカル Web サーバーを使用します。IDE と組み合わせると、Netbeans または Eclipse で、php スクリプトの実行中にデータ構造/オブジェクトを調べることができます。

于 2013-05-01T13:48:08.470 に答える