Ergebnis 1 bis 8 von 8

Thema: Module im Backend debuggen

  1. #1
    Contao-Nutzer Avatar von ricola
    Registriert seit
    22.06.2009.
    Ort
    Schwerin
    Beiträge
    128

    Frage Module im Backend debuggen

    Hallo,

    irgendwie stehe ich auf dem Schlauch und weiß nicht wie ich das vernünftig machen soll.

    Momentan habe ich alle Frontendmodule an denen ich gearbeitet habe, mittels Zend Studio vernünftig debuggen können. Also ähnlich wie mit Netbeans mit Haltepunkten versehen - um die Variablen vernünftig auslesen zu können ....

    Was ist aber, wenn ich das mit einem Backendmodul machen möchte? Vor dem Zugriff auf diese (main.php) ist ja noch die Loginseite des Backends vorgeschaltet. Wie kann man diese umgehen um ein vernünftiges debugging (also mit Haltepunkten etc.) im Backend zu erreichen? Oder gibt es einen anderen Kniff?

    Wie macht Ihr das? Ich kann mir einfach nicht vorstellen, dass alle Klassen und Methoden von Backendmodulen per trial und error gechrieben werden ...

    Mit der Bitte um Lösung
    LG Rico
    Kleines Tutorial zum objektorientierten Programmieren mit PHP

  2. #2
    Contao-Fan Avatar von Sioweb
    Registriert seit
    12.08.2011.
    Ort
    Düsseldorf
    Beiträge
    405
    User beschenken
    Wunschliste

    Standard

    Ho!

    ich schreib die Sachen von Hand und benutz dann echo '<pre>'.print_r($something,1).'</pre>'; um die Daten auszuwerten. Das funktioniert eigentlich ganz gut.
    Grüße Sascha W. @Sioweb
    schadebalken.de | zurück-zu-montag.de
    +++ Programmierer von Change-Lok erfasst worden +++

  3. #3
    Contao-Nutzer Avatar von ricola
    Registriert seit
    22.06.2009.
    Ort
    Schwerin
    Beiträge
    128

    Standard

    Zitat Zitat von Sioweb Beitrag anzeigen
    Das funktioniert eigentlich ganz gut.
    Ja, das stimmt - dann bekomme ich aber schon den gesamten Output. Ich würde aber gerne im Script Haltepunkte setzen - um an jeder Stelle des Scripts den Überblick über die gerade gefüllten Objekte, deren Methoden und die aktuell verfügbaren Methoden aus dem Framework incl. des aktuellen $this zu bekommen .

    Kopfkratz ...
    LG Rico
    Kleines Tutorial zum objektorientierten Programmieren mit PHP

  4. #4
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Hast du es schonmal getestet?

    Bei mir geht das mit Netbeans. Wichtig ist, dass du die seite über localhost aufrufst. Das war zumindest bei mir das Problem.
    Die Debug Session wird dann für den localhost gestartet. Somit kannst du backend oder Frontend aufrufen, das geht.

    Allerdings erinnere ich mich, dass es mal nicht funktioniert hat. Ob es an Contao lag oder einer alten Xampp Version konnte ich nie reproduzieren...
    Mein Blog -> brothers-project.de

  5. #5
    Contao-Nutzer Avatar von ricola
    Registriert seit
    22.06.2009.
    Ort
    Schwerin
    Beiträge
    128

    Frage

    Zitat Zitat von Zero Beitrag anzeigen
    Hast du es schonmal getestet?
    Momentan habe ich noch keine andere Möglichkeit gefunden, als die Uservalidierung in der main.php und BackendUser Klasse "auszuschalten".
    Damit kann ich zwar die main.php per Browser ohne Registrierung aufrufen und entsprechend auch Debuggen, trotzdem erscheint mir der Weg wenig elegant (und kann auch nur in einem Testsystem so sein).

    Ein vernünftiges debugging mit Netbeans habe ich leider nie hinbekommen, da xdebug immer abstürzte wenn das Script an einem Haltepunkt stoppen sollte. Vielleicht liegt das n der Entwicklung unter Mac ....

    Mit Zend Studio kann ich zwar natürlich das Backend debuggen - aber ich will ja keine index.php debuggen, sondern die main.php mit dem entsprechenden Modulaufruf - main.php?do=something

    Aber genau da liegt die Crux - ohne Session in der Datenbank (nicht nur die von Zend, sondern die mit den entsprechenden Logindaten die es eigentlich nicht gibt) wird nicht nur der redirect aufgerufen, sondern auch die Module sind nicht ansprechbar. Kein Problem wenn man auch die Backenduserklasse verändert - aber wie gesagt ist das ja auch in einem Testsystem äußerst unelegant. Das muss irgendwie besser gehen.

    Mist, das muss irgendwie gehen ....

    LG Rico
    Kleines Tutorial zum objektorientierten Programmieren mit PHP

  6. #6
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Hm. Ich habe Windows 8 am laufen. Da kann ich dir dann leider nicht weiterhelfen.

    Bei mir funktioniert es auch, wenn ich das Frontend mit der ide aufrufe. Wenn ich dann hergehe und das Backend mit http://localhost/ct/contao/... aufrufe, dann kann ich das Backend debuggen. Dazu kann ich sogar einen extra Tab öffnen, bzw den verwenden, in welchem das Problem aufgetreten ist . Klappt hervorragend.

    Eventuell mal den Browser wechseln? Firefox oder Chrome? Bei mir läufts mit Firefox
    Mein Blog -> brothers-project.de

  7. #7
    Contao-Nutzer Avatar von ricola
    Registriert seit
    22.06.2009.
    Ort
    Schwerin
    Beiträge
    128

    Standard

    Zitat Zitat von Zero Beitrag anzeigen
    wenn ich das Frontend mit der ide aufrufe. Wenn ich dann hergehe und das Backend mit http://localhost/ct/contao/... aufrufe, dann kann ich das Backend debuggen.
    Hm, das würde ja bedeuten, dass die IDE (bei Dir Netbeans) und der Browser dieselbe Session verwenden.... Hm, ich kapiere das einfach nicht.
    Ein Login über meine IDE ist, glaube ich, ausgeschlossen (habe ich jedenfalls noch nie gemacht) - wenn das ginge, könnte ich über diese zunächst das Backend aufrufen, mich einloggen - und dann die main.php debuggen....

    Hm, hm, hm

    LG Rico
    Kleines Tutorial zum objektorientierten Programmieren mit PHP

  8. #8
    Contao-Nutzer Avatar von ricola
    Registriert seit
    22.06.2009.
    Ort
    Schwerin
    Beiträge
    128

    Standard Erledigt

    So, ich habe das mit der main.php im Guten nicht hinbekommen.

    Meine Lösung momentan: Ich habe mir einen Hook erstellt und rufe in diesem die Backendklassen per normalem Frontend in der IDE zu testen auf. Die Requests (do=something) simuliere ich über $this->Input->setGet().
    Das funktioniert eigentlich ganz gut.

    LG Rico
    Kleines Tutorial zum objektorientierten Programmieren mit PHP

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •