Ergebnis 1 bis 17 von 17

Thema: var_dump ähnliche Funktion einbauen

  1. #1
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard var_dump ähnliche Funktion einbauen

    Hallo zusammen,

    ich habe eine var_dump ähnliche Funktion, die ich von einem Projekt ins nächste mitschleppe. Nun möchte ich sie in ein ZF Projekt einbauen, so daß sie überall verfügbar ist und auch andere Entwickler damit einverstanden sind. Wie mache ich das?

    Vielen Dank,
    Anja

  2. #2
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Laden, Nutzen?
    Woran scheiterts?
    Ums gleich vorweg zu nehmen: Es gibt keinen PHP-eigenen Autoload-Mechanismus für Funktionen.

  3. #3
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Ich hatte sie erst mal als view helper eingebaut, aber so kann ich sie nicht überall verwenden.
    Dann hab ich die Funktion mal in der Bootstrap über "class Bootstrap extends Zend_Application_Bootstrap_Bootstrap" eingefügt. Das geht, kann aber so definitiv nicht bleiben.
    Vielleicht ein require_once in der index? Aber wo lege ich die Datei am besten ab?

  4. #4
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Vielleicht ein require_once in der index? Aber wo lege ich die Datei am besten ab?
    Joa, index ginge. Funktionen sind im ZF nicht vorgesehen, deshalb gibts dafür keine Funktion. Habs bei mir kurzfristig einmal unter lib/MyLibrary/functions/* abgelegt. Durch die Kleinschreibung ist eine Verwechslung mit Klassen ausgeschlossen. Kannst dir aber auch jeden anderen ausdenken, zB lib/functions/* oder so.

  5. #5
    Erfahrener Benutzer Avatar von deetee
    Registriert seit
    17.12.2007
    Beiträge
    1.459
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Zitat Zitat von anja Beitrag anzeigen
    Ich hatte sie erst mal als view helper eingebaut, aber so kann ich sie nicht überall verwenden.
    Dann hab ich die Funktion mal in der Bootstrap über "class Bootstrap extends Zend_Application_Bootstrap_Bootstrap" eingefügt. Das geht, kann aber so definitiv nicht bleiben.
    Vielleicht ein require_once in der index? Aber wo lege ich die Datei am besten ab?
    Normalerweise ist die var_dump() Funktion nur während der Entwicklung nötig. Dafür also einen View Helper o. ä. zu erstellen macht für mich keinen Sinn.

    Ich würde die Funktion über den PHP include_path einbinden. So ist sie quasi in jedem Projekt vorhanden.

    Wenn du es über die index.php machst ist es nur ein geringer Unterschied dazu sie in der Bootstrap.php einzufügen. Die index.php wäre aber passender. Dort dann zusätzlich auf APPLICATION_ENV prüfen und nur unter development einfügen.

  6. #6
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Ok danke, hab einen Ordner angelegt library\Anja\functions\ meine Datei rein und lade sie in der index.

    Normalerweise ist die var_dump() Funktion nur während der Entwicklung nötig. ... Die index.php wäre aber passender. Dort dann zusätzlich auf APPLICATION_ENV prüfen und nur unter development einfügen.
    Stimmt zwar, aber da man so eine Ausgabefunktion leider auch mal vergisst und damit das live system platt macht, wenn die Funktion fehlt, habe ich diese Prüfung nach APPLICATION_ENV in der Funktion selbst und gebe dann nichts aus.


    Andere Frage, wenn gettext eingesetzt wird, kann man _('Name') benutzen oder muss man $this->translate('Name') verwenden?

  7. #7
    Erfahrener Benutzer
    Registriert seit
    26.05.2007
    Beiträge
    226
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Und was spricht gegen ein
    PHP-Code:
     Zend_Debug::dump($fooBar
    Wenn man dann auch noch die xDebug - Extension geladen hat sieht das wunderbar aus.

  8. #8
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    @maetrus: für mich als Anfänger erst mal, dass ich es nicht kenne
    Ein Einfügen in einer Action Controller Methode bringt erst mal nur eine weiße Seite Was mache ich falsch?

    Ansonsten: Ich habe mir meine Funktion angepasst, so dass sie z.B. Methoden von Objekten anzeigt usw. Kann man Zend_Debug anpassen?

  9. #9
    Erfahrener Benutzer Avatar von deetee
    Registriert seit
    17.12.2007
    Beiträge
    1.459
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Eine weiße Seite bedeutet meistens, dass die php.ini Einstellung error_reporting die Ausgabe einer Fehlermeldung nicht erlaubt.

  10. #10
    Erfahrener Benutzer
    Registriert seit
    26.05.2007
    Beiträge
    226
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Also ich hab es meistens nur so verwendet wie es oben steht. ;-)

    Das erspart das lästige
    PHP-Code:
    echo "<pre>";
    var_dump($fooBar);
    echo 
    "</pre>"
    und laut manual scheinbar auch wirklich nur mit der Funktion vorgesehen.

    Es spricht nichts dagegen deine eigene Klasse zu schreiben

    PHP-Code:
    class My_Debug extends Zend_Debug {
        ....

    Habe mir die Implementierung noch nicht angesehen, da mir bisher immer die obige Anweisung ausgereicht hat. Ging ja immer nur mal drum um eben in eine Variable rein zu schauen was da drin steckt ...

  11. #11
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Zend_Debug::dump($this); hab ich jetzt auch nochmal in einer anderen Action Controller Methode versucht, rödelt lang, dann nix. Meine Funktion tut übrigens an gleicher Stelle.

    php.ini:
    error_reporting = E_ALL & ~E_NOTICE

    application.ini:
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1

  12. #12
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Für Entwicklungsumgebungen ist
    Code:
    E_ALL
    oder sogar
    Code:
    E_ALL | E_STRICT
    besser geeignet
    display_startup_errors hat (logischerweise) ausserhalb der "php.ini" keinen Effekt.
    Es muss phpsettings heißen.

  13. #13
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Ich entwickle seit Jahren ohne E_NOTICE, wie auch alle mit denen ich zusammen gearbeitet habe. E_ALL & ~E_NOTICE ist die nicht von mir geänderte default Einstellung der php.ini.

    Das verstehe ich nicht:
    display_startup_errors hat (logischerweise) ausserhalb der "php.ini" keinen Effekt

  14. #14
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Ich entwickle seit Jahren ohne E_NOTICE, wie auch alle mit denen ich zusammen gearbeitet habe. E_ALL & ~E_NOTICE ist die nicht von mir geänderte default Einstellung der php.ini.
    Is auch nicht notwendig, aber an vielen Stellen hilfreich. E_STRICT in dem Sinne _noch_ hilfreicher
    Das verstehe ich nicht:
    Neija, es heißt "display_startup_errors" "Startup" ist in einem PHP-Skript längst vorbei.

  15. #15
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Zend_Debug scheitert am $this, was anderes geht. Timeout? Aber warum kommt dann keine entsprechende Fehlermeldung?

    Wie gesagt, meine Funktion tut an der Stelle und da sie nur ausgibt was ich brauche sehr schnell. var_dump tut auch, braucht aber so lange, dass es nervt.

    Neija, es heißt "display_startup_errors" "Startup" ist in einem PHP-Skript längst vorbei.
    Ach so, ich wollt ja auch nur zeigen, dass alle Fehler angeschaltet sind. Auch mit der angeregten Einstellung bekomme ich nur eine weiße Seite, leider

  16. #16
    Erfahrener Benutzer
    Registriert seit
    28.12.2006
    Beiträge
    9.966
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Das hast du berücksichtigt?
    Zitat Zitat von KingCrunch
    Es muss "phpsettings" heißen.

  17. #17
    Benutzer
    Registriert seit
    21.05.2009
    Beiträge
    83
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Ja, hab ich, hatte auch gehofft, dass das helfen würde.

Ähnliche Themen

  1. Dojo ins Quickstart mit einbauen
    Von anno im Forum Konzepte & Ideen
    Antworten: 12
    Letzter Beitrag: 18.09.2009, 19:38
  2. Smarty-ähnliche Variablen in der View?
    Von prowler im Forum MVC
    Antworten: 25
    Letzter Beitrag: 20.02.2009, 15:19
  3. Antworten: 22
    Letzter Beitrag: 04.02.2009, 22:25
  4. Besucherzähler einbauen
    Von echinus im Forum Einsteigerfragen
    Antworten: 6
    Letzter Beitrag: 22.10.2008, 16:41
  5. dynamische elemente einbauen
    Von tomtitom im Forum Einsteigerfragen
    Antworten: 9
    Letzter Beitrag: 26.09.2008, 16:57

Lesezeichen

Berechtigungen

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