var_dump und print_r umformatieren

Matze202

Erfahrenes Mitglied
hiho @all,

auf meinem lokalen Server, werden diese beiden Befehle immer schön übersichtlich angezeigt, aber auf meinem Webserver, muss ich immer <pre> dazu nehmen.

Wie kann ich diese beiden Befehle, auf meinem Webserver (mit der php.ini oder was anderem) schöner darstellen lassen?

Es wäre auch nett, wenn diese etwas gehilightet würden, so wie es mein xampp macht.

Gruß Matze202.
 
Danke @sheel , für die schnelle Antwort.

Sorry, da hab ich mal wieder nicht den bei mir 100% zutreffenden Begriff erwischt. ;)

Ich meinte leider nicht direkt den Webserver, sondern einen Webhosting-Account, also ohne Root-Zugang.

Nichts desto trotz, habe ich mal ausgetestet, ob zufällig das XDEBUG von jemand anderem auf dem Server installiert wurden wäre, aber das war leider nicht der Fall.

Gibt es eventuell noch eine andere Möglichkeit, sonst werde ich das an mein Serverzentrum weiter leiten.
 
Du kannst dir natürlich ne eigene Funktion definieren, die prinzipiell das gleiche macht wie xdebug. Also ne schöne, mit HTML/CSS formatierte var_dump Ausgabe.

schau dir das mal an: https://github.com/raveren/kint Sieht aus wie ne ganz normale PHP-lib, sollte also auf jedem stinknormalen Webserver funzen.
 
Danke für die Idee @alxy , ich werde mal eine eigenen Systemklasse schreiben, welche static-Methoden hat, die ich dann in allen anderen Objekten verwenden kann.

EDIT: Also das <pre></pre> klappt ja schon mal super, aber leider das highlighten nicht. (Oder werden mit highlight_string() nicht die Inhalte, sondern nur die Befehle gehighlightet?)
PHP:
class sys{
  public static function var_dump($data){
    echo '<pre>';
    highlight_string(var_dump($data));
    echo '</pre>';
  }

  public static function print_r($data){
    echo '<pre>';
    highlight_string(print_r($data));
    echo '</pre>';
  }
}
PHP:
sys::print_r($_SERVER);

Zum Highlighten, habe ich nochmal in die phpinfo geschaut und nur folgende Zeilen gefunden.
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000

@bofh1337
Ich habe ein Xampp für Zeiten, wo das Internet streikt, aber an Produktivsystemen programmiere ich ja nicht, sondern ich habe diese mit dem Verzeichnissschutz schon abgeschirmt.
Vorteil: Ich arbeite dort direkt mit den Systemkonfigurationen des Webservers und nicht des Xampp. Ich versuche zwar so kompatibel wie möglich zu programmieren, aber ich erkenne so gleich bei der Entwicklung, was eventuell angepasst werden muss.
 
Zuletzt bearbeitet:
highlight_string ist für PHP Code, nicht für die Ausgabe von PHP-Funktionen gedacht... Ich würde dir empfehlen, die fertige Lösung zu verwenden. (Du scheust wahrscheinlich vor dieser riesen Erweiterung zurück, mit 1000enden von Dateien... Aber so funktioniert WebDevelopment heute ;) Gewöhn dich an Composer und daran, fertige Sachen zu verwenden ;) )
 
Danke dir @alxy , für das Mut machen. ;)

Aber ich möchte das aktuelle Projekt, noch so schlank wie möglich halten. Denn das mein erstes richtig großes Projekt, welches ich mit OOP und einem neuen Editor phpDesigner8 umsetzen werde. Dabei will ich noch nicht den überblick verlieren, weil ich mir andere Sachen rein hole.

Zu mal ich leider kaum Englisch beherrsche, denn das bissel Englisch was ich kann, habe ich mir durch die Programmierung beigebracht und Google-Translater und Co hilft einem da leider auch nicht wirklich weiter, da der größte Teil der Übersetzungen leider den Sinn verliert.

EDIT:

Gibt es dafür noch eine alternative Funktion des PHP, die dieses abdeckt?
 
Zuletzt bearbeitet:
Ich denke mal, dass du da wirklich selber Hand anlegen musst. Sonst würde es sowas wie kint oder xDebug ja nicht geben, wenn PHP das prinzipiell schon implementiert hätte ;)
Ansonsten solltest du, wenn du wirklich mit größeren Softwwareprojekten anfangen willst, dir dringend und unbedingt Englisch beibringen - das braucht man wirklich überall. Das fängt ja schon dabei an das die Sprachkonstrukte (Funktionen) selber komplett in Englisch gehalten sind...
 
Danke nochmal @alxy , ich werde mal sehen, was ich da machen werde.

Ansonsten solltest du, wenn du wirklich mit größeren Softwwareprojekten anfangen willst, dir dringend und unbedingt Englisch beibringen - das braucht man wirklich überall. Das fängt ja schon dabei an das die Sprachkonstrukte (Funktionen) selber komplett in Englisch gehalten sind...
Aber leider bin ich total sprachlich unbegabt, da ich ein ausgeprägtes mathematisches Verständnis habe, tu ich mich leider sehr schwer, wenn ich mit Satzaufbauten und Mehrfachbedeutungen zu tun habe, die ich mit meinem rein logischen Verständnis, noch nicht überein bringe. Aber hoffentlich ändert sich das bald mal und der Knoten platzt, damit ich nicht mehr soviele Probleme mit den Sprachen habe. ;)

EDIT: Zur Zeit lerne ich immer noch mit "Learnig by Duing", oder wie das heißt, was mir aber immer viel Zeit raubt.
 
Zurück