Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Arrays mit Objekten als PHP-Quellcode ausgeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Arrays mit Objekten als PHP-Quellcode ausgeben

    So manchmal besteht der Wunsch, Arrays die auch Objekte vom Typ stdClass enthalten, als PHP-Quellcode zu exportieren. Die folgende Funktion hilft da var_export etwas nach:
    PHP-Code:
    function dump_arrobj($arrobj){
      echo 
    '<pre>'.str_ireplace('stdClass::__set_state','(object)',var_export($arrobj,true)).'</pre>';

    Für ein Beispiel klaue ich mal was aktuelles von hausl

    PHP-Code:
    // beispiele anlegen
    $obj1 = new stdClass();
    $obj1->id 12;
    $obj1->spielername "Lumpi";
    $obj1->allianz "23";

    $obj2 = new stdClass();
    $obj2->id 18;
    $obj2->spielername "vegador";
    $obj2->allianz "23";

    $arr = array();
    $arr[] = $obj1;
    $arr[] = $obj2;

    //PHP-Code ausgeben
    dump_arrobj($arr); 
    Ausgabe:
    PHP-Code:
    array (
      
    => 
      (object)(array(
         
    'id' => 12,
         
    'spielername' => 'Lumpi',
         
    'allianz' => '23',
      )),
      
    => 
      (object)(array(
         
    'id' => 18,
         
    'spielername' => 'vegador',
         
    'allianz' => '23',
      )),

    Eine Variable und = davorgesetzt und ein Semikolon am Ende, und schon kann dies in einem Skript zum Testen benutzt werden oder auch in ein Forum wie dieses gestellt werden.

    LG + schonmal ein schönes Wochenende
    jspit

  • #2
    stimmt, danke
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Ich schlage vor daraus ein Repository-Eintrag zu machen, jspit. Andernfalls wird der Beitrag hier sehr schnell vergessen.
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #4
        Ich schlage vor daraus ein Repository-Eintrag zu machen, jspit
        jspit hat immer wieder mal den einen oder anderen praktischen Schnipsel, ich hab mir schon mal überlegt da eine "Snippets-Sammlung" in der PHP-Wissenssammlung dazu auf github zu machen damit bzw. hätten wir schon sogar die Kateg, die passen würde mit den Implementierungsansätzen/Beispielen. Aber hast recht, das kann er ja auch selbst

        tr0y, meintest du das so? Sonst kann ich mich dem auch annehmen wenn zwischendurch mal Zeit ist die "einzufplegen". Gebt einfach mal laut dazu, gerne könne wir sonst auch per PN weiterquatschen.

        LG
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Jup.
          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

          Kommentar


          • #6
            Da verweise ich mal lachend auf unsere Tutorials-Sektion.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              Da verweise ich mal lachend auf unsere Tutorials-Sektion.
              Ich kriege Lachflashs wenn ich da das ein oder andere Tutorial sehe.. jo
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                Die sind aber tw. auch 6-8 Jahre alt.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Die Idee mit Github finde ich Prima!

                  Kommentar


                  • #10
                    Hi,
                    mein primäres Anliegen beim Posten dieser Funktion war dies als Link hier im Forum benutzen zu können,
                    damit dies anstelle von den blöden print_r Ausgaben bei entsprechenden Problemstellungen genutzt werden kann.
                    Die Idee mit dem str_replace ist nicht neu und auch im Netz schon zu finden.
                    Ich selbst nutze die Funktion so nicht, da ich dies in meine Debug-Klasse eingebaut habe (Version ist noch nicht als Download verfügbar).
                    In dieser Debug-Klasse strebe ich an, bei einer Ausgabe die Variablen und Objekte nach Möglichkeit als PHP-Quellcode verfügbar zu haben.
                    So gesehen, geht hier nichts verloren. Github zu nutzen, darüber werde ich noch nachdenken.
                    Ein positiver Nebeneffekt für mich ist noch, daß in einem Forum der Code von vielen Augen kritisch betrachtet wird.

                    LG jspit

                    Kommentar


                    • #11
                      Beistrag ist nun auch in der Wissenssammlung, danke jspit!

                      http://php-de.github.io/jumpto/objectsarray-to-code/

                      LG
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar

                      Lädt...
                      X