echo unterdrücken oder Überladen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • echo unterdrücken oder Überladen

    Hallo Leute,

    ich hätte zwei Fragen:

    1. Gibt es eine Möglichkeit die Ausgabe von echo zu unterdrücken, dass man die "Diagnose"-Ausgaben nicht jedes mal auskommentieren muss?

    oder

    2. ist es möglich echo in irgendeiner Forum zu überladen und statt der Ausgabe das ganze in ein Array oder ähnliches zu schreiben.

    Danke für die Hilfe

    Gruß Tarlar

  • #2
    ob_start

    Kommentar


    • #3
      Zitat von Tarlar Beitrag anzeigen
      1. Gibt es eine Möglichkeit die Ausgabe von echo zu unterdrücken, dass man die "Diagnose"-Ausgaben nicht jedes mal auskommentieren muss?
      Debugging mit "echo" ist aber auch mal so richtig PHP 3 Da gibt es eine ganze Reihe Alternativen.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Hier mal ein kurzes Beispiel, weil ich grad Zeit hatte...

        PHP-Code:
        <?php

        $my_output 
        = array();

        function 
        write_to_my_output($stuff) {
          global 
        $my_output;
          
        $my_output[] = array(
            
        'time'  => date('d.m.Y H:i:s'time()),
            
        'data'  => $stuff
          
        );
          return(
        null);
        }

        ob_start('write_to_my_output'2);

        echo(
        'Hallo Welt!');
        echo(
        'Und noch eine Ausgabe...');
        echo(
        'Blubb?');

        ob_end_clean();

        echo(
        '<pre>'.print_r($my_outputtrue).'</pre>');

        ?>

        Kommentar


        • #5
          Und Global ist genau so PHP 3.
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Zitat von unset Beitrag anzeigen
            Und Global ist genau so PHP 3.
            Passt doch dann prima zusammen...

            Aber Scherz beiseite: Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?

            Kommentar


            • #7
              Zitat von DSitC Beitrag anzeigen
              Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?
              Klassen
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                Ok, also dann eine Debugging Klasse die man über statische Aufrufe füttert.

                Kommentar


                • #9
                  Nein, ich würde dafür auch keine statische Klasse nehmen, sondern das Observer-Pattern implementieren.
                  Zuletzt geändert von AmicaNoctis; 01.03.2010, 14:14.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Zitat von DSitC Beitrag anzeigen
                    Passt doch dann prima zusammen...

                    Aber Scherz beiseite: Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?
                    Erstmal ist es ja schon Error by design, wenn man die Ausgabe so fließen lässt, dass man sie nicht mehr kontrollieren kann. Deswegen werde ich hier vor einer Lösung erst einmal auf den Missstand hinweisen. Der Autor hat ja nicht gesagt, dass es nicht mehr möglich ist, denn Quellcode anzupassen. Und selbst wenn: Eine Lösung ist nur ein Search & Replace mit einem kleinen RegExp entfernt.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      Wenn du kein echo willst warum machst du dann eins??

                      Kommentar


                      • #12
                        Wurde doch gesagt: Debug-Ausgaben!
                        [FONT="Helvetica"]twitter.com/unset[/FONT]

                        Shitstorm Podcast – Wöchentliches Auskotzen

                        Kommentar


                        • #13
                          Debug-Ausgaben sollte man aber nur dann machen, wenn man sie braucht und sie dann wieder deaktivieren/entfernen.

                          Kommentar


                          • #14
                            Danke für die Tipps. Ich werde mal die verschiedenen Debug-Tools verwenden.

                            Kommentar

                            Lädt...
                            X