3

Yii フレームワークを使用した PHP プロジェクトで問題が発生しています。私のセットアップは次のとおりです。Win7 + Eclipse4.2 + PDT 3.1 + Yiiclipse PDT 拡張機能 + XDEBUG が有効になっている WAMP サーバー。

ほとんどすべてが正常に機能します。デバッグ セッションが開始され、プロジェクトの index.php ソースを通過しますが、フレームワークのファイルにジャンプする必要がある場合、それらは開かれません。ソース ルックアップを編集し、フレームワークのローカル パスを追加しましたが、それらを見つけることができません。

これがスクリーンショットです: http://img607.imageshack.us/img607/3687/eclipsepdt.png

http://img607.imageshack.us/img607/3687/eclipsepdt.png

4

2 に答える 2

0

Xdebug を使用して、Yii (またはその他のフレームワークベース) アプリケーションをデバッグできますか? Yii は MVC パターンに基づく URL 書き換えを導入しているため、できないと思います。

私は Xdebug の経験があまりありませんが、デバッグ時に Eclipse の内部ブラウ​​ザーに表示される URL に (Eclipse PDT とともに) 強く依存していることが明らかにわかりました。

したがって、スクリーンショットの URL を例にとると、次のようになります。

http://localhost/testdrive/index.php?r=dispozitive

index.phpあなたが言及したように、EclipseはURLで直接参照されており、おそらくデバッグ構成ウィンドウで開始ファイルとして指摘しているため、Eclipseは正しく開いています。これは正常です。

しかし、さらに先へ。dispozitiveそのルート(ルート自体が完全に Yii の概念 (または同様のフレームワーク) であり、Eclipse / Xdebug / PHP はそれについて何も知らない) または?r=dispozitiveURL 部分がprotected/SiteController.phpファイル システム内のファイルの実行と default の呼び出しに対応することを Eclipse にどのように理解してもらいたいですか?actionIndex()それから?そのため、IDE で開く必要があり、定義されたブレークポイントで実行を停止する可能性があります。

このプロセスと概念 (ルーティング) は 100% Yii によって作成され、内部で行われます。

私が書いたように、私は Yii アプリケーションをデバッグする経験はあまりありませんが、私が知るまでに発見したことから、何らかの URL 書き換えを使用している場合、Xdebug で PHP アプリケーションをデバッグできないことは明らかです。メソッド。この手法 (Xdebug を使用したデバッグ) は、URL の変更がアプリケーションのコンテンツのファイルシステム内のファイルを直接反映するアプリケーションの場合にのみ機能します。

EDIT:さらに、お持ちのEclipseのバージョン(パッケージ)を確認してください。Helios パッケージにはいくつかのバグがあり、ブレークポイントで停止しないことが判明しました。これにより、デバッグプロセスにはほとんど役に立ちません。代わりに、Galileo Package Eclipse for PHP Developers の使用を検討してください。

于 2013-05-15T12:34:19.973 に答える
0

これは必ずしも答えではありませんが、あなたの質問も必ずしも質問ではないので、これは公平なゲームだと思います:D

過去にデバッグやコード補完などで Eclipse PDT + xdebug に非常に多くの問題があったため、しばらく前にそれをあきらめて、PHP デバッグ用に Netbeans に切り替えました。これは、PHP をデバッグするための私の開発チームのデファクト スタンダードです。私たちはまだ自分のお気に入りのエディターを持っていますが、デバッグが必要なときは Netbeans を使用します。

コード補完、完了時の phpdoc 'tooltips'、およびデバッグは、開発しているプラ​​ットフォーム (Windows、OS X、Linux) に関係なく、すべて完璧に機能し、Eclipse PDT についても同じことを言うことはできません (コード補完はしばしば失敗します。私の個人的な経験では、デバッグで問題が発生したり、デバッグがクラッシュしたりする可能性があります。

したがって、これが非質問に対する非回答である場合は、事前に謝罪しますが、Netbeansを試してみてください。

于 2013-04-09T15:27:37.613 に答える