PDA

Vollständige Version anzeigen : eclipse & ZF debuggen


bonzei
17.07.2008, 22:43
nAbend zusammen,

habe mir zu Testzwecken das neue Zend Studio for Eclipse & Zend Core installiert(Linux).

Wenn ich jetzt z.B http://bonzei.de/html/index debuge (via Firefox Zend Toolbar & Debug Current Page) lande ich in der Boostrap (is ja auch ne index :p )

Natürlich will ich aber den IndexController debugen.

Nach STUNDEN! langem googeln verzweifle ich so langsam. Habe noch nie erlebt das google so wenig zu einem Thema auspuckt.


Aus verzweiflung habe ich noch folgendes ausprobiert.




class IndexController extends Zend_Controller_Action {

public function indexAction()

{

$test = "gg";

}

}

$new = new IndexController();
$new->indexAction();


Wenn ich das nun debuge, kommt als fehlermeldung:



Argument 1 passed to Zend_Controller_Action::__construct() must be an instance of Zend_Controller_Request_Abstract

Was ich ja glaube auch verstehe, weil Zend_Controller_Action ein Request erwartet.

Richtig ?

Also wie stell ich das denn nun an ? :)

P.S

Also wenn da mal jemand eine klitzekleine Anleitung schreiben könnte würd ich doch glatt vor Freude in die Luft springen.

Weil wie gesagt, Zend Studio for Eclipse und Zend Framework debuging :

Google = $this->notFound();

Forum = $this->notFound();

:(

ChristianFischer
18.07.2008, 08:26
Also,

eine Möglichkeit ist übergib ihm doch einfach ein request objekt ;)

2. Möglichkeit wäre Remote Debugging.
3. Möglichkeit bemühe google mal nach dem thema "zend Framework debugging"

DennisBecker
18.07.2008, 08:44
Haltepunkte setzen? Der stoppt eigentlich immer zuerst in der Bootstrap (mit Zend Debugger). Benutzt denn den Debugger von Zend oder XDebug?

bonzei
18.07.2008, 10:18
Benutze den Zend Debugger.

Ich mache ja Remote Debugging, aber wie gesagt wenn ich http://bonzei.de/html/index debuge lande ich in der Bootstrap. Wenn ich dann anfange durch zu steppen öffnet er mir alle möglichen Dateien vom ZF, nur nich meine gewollte IndexController.php :(

@ Christian:

Wie übergebe ich ihm ein Request Object in Eclipse ?

Mike
18.07.2008, 10:27
Wenn ich dann anfange durch zu steppen öffnet er mir alle möglichen Dateien vom ZF
Es ist halt ein weiter Weg von der Bootstrap zum Controller. Wie Dennis schon gesagt hat: Setz einen Haltepunkt im Controller oder wo auch immer du hin möchtest und springe dann zu diesem.

DennisBecker
18.07.2008, 10:38
Hmm.. also im Normalfall sind doch die Tastenkombinationen F5, F9 und F10. Hab schon länger nicht mehr den ZendDebugger verwendet, aber entweder war F5 oder F9 zum nächsten Haltepunkt springen und F10 Zeilenweise urchgehen.

bonzei
18.07.2008, 11:55
Natürlich, bin mal wieder auf meiner eigenen Leitung gestanden.

Noch eine kleinigkeit:

Wenn ich ein Formular auf der Seite habe und die es abschicke und debugge springt er zwar zum IndexController, zeigt aber an das dass Post Array leer ist.

Heist die Post Daten landen nicht in Eclipse.

Wie komme ich in Eclipse an die Post Daten ?

DennisBecker
18.07.2008, 12:20
Einfach das Request-Object auslesen? $this->getRequest->getPost() ? Wüsste ich sonst auch nicht, wie man das machen sollte.

Mike
18.07.2008, 13:03
Startest du das Remote Debugging denn auch an der richtigen Stelle? Ich hab keine Ahnung wie diese Toolbar heutzutage aussieht, beim ZDE konnte man über die Toolbar sagen "Debug next page". Dann hat man das Formular ausgefüllt, abgesendet und die gesendete Seite wurde dann im Debugger geladen. Dadurch hattest du alle POST-Daten.
Wenn du natürlich erst das Formular absendest und dann das Debugging startest, ist das POST-Array leer.