PHP: Meine kleinen Helferlein (Internet Pro 6/2004)
Heute am Telefon: "Nimm doch cr2lf(), nein lf2br() oder war es br2html()? Na, jedenfalls diese Funktion, die hinter Zeilenumbrüche automatisch ein br-Tag schreibt..." Nein, es ist nicht die zunehmende Vergesslichkeit, die an mir nagt, wenn ich von solchen Funktionen erzähle. Es ist nur die Tatsache, dass PHP so eine Unmenge kleiner, nützlicher Funktionen anbietet, die ziemlich verwirrende Namen tragen. Und das bringt mich am Telefon ins Stottern.
Die Funktion, von der ich meinem Gesprächspartner erzählen wollte, heißt natürlich nl2br(): Vor jeden Zeilenumbruch (new line) packt diese Funktion ein <br/>-Tag. Das sieht im Quelltext zum Beispiel so aus:
<?
$strTest = "Ich denke,\nalso bin ich.";
echo nl2br($strTest);
?>
Auf dem Browser-Bildschirm sehen Sie
Ich denke,
also bin ich.
Das ist ebenso simpel wie ideal, um vorgefertigte Texte aus einer Datenbank zu holen und schnell anzuzeigen.
Klar kennt jeder diese Funktion. Aber hätten Sie die in der PHP-Dokumentation gefunden, wenn Sie danach gesucht hätten? Das dumme ist nämlich: solche Funktionen sind so trivial, dass man ihren Namen schon nach wenigen Sekunden wieder vergisst und nicht einmal mehr weiß, wo man mit der Suche beginnen soll.
Eine ebenso einfache Funktion, die ich aber bestimmt nicht vergesse ist var_dump(). Wo immer nicht klar ist, was in einem Array steht hat, ist diese Funktion zur Stelle und kippt den Inhalt des Arrays über den Bildschirm. Nur, dieses Kippen ist ein Problem: Da wird nämlich nix formatiert und im Browser erscheint ein hässlicher Array-Kladderadatsch.
Abhilfe schafft eine kleine Hilfsfunktion, die ich in alle meine Programmierprojekte einbinde. Ich habe sie bescheiden go_dump() genannt:
// Hilfsfunktion zum Dumpen zum Browser
function go_dump($argArray)
{
echo '<pre>';
var_dump($argArray);
echo '</pre>';
}
Die Funktion ist nicht besonders raffiniert, bringt aber ein wenig mehr Übersicht, indem sie das zu dumpende Array in </pre>-Tags packt. Gerade bei frischen Projekten hilft das, wenn ich mich erstmal um Datenstruktur und allerlei anderes, lästiges kümmere.
Ein anderer kleiner Helfer ist fast genauso simpel. Mein Problem ist – vor allem in der frühen Entwicklungsphase – die übersichtliche Ausgabe von Daten. Und dafür braucht man saubere Zeilenumbrüche – in HTML wie auch im Quelltext. Deshalb verwende ich für Umbrüche grundsätzlich die Kombination aus <br/> und \n. Nur ist diese Kombination ausgesprochen lästig, besteht doch
echo "<br/>\n";
aus jeder Menge Tastenkombinationen mit Shift und AltGr. Bequemer geht's damit:
// Hilfsfunktion für Zeilenumbrüche
function brlf($argCount=1)
{
while ($argCount-- >0)
echo "<br/>\n";
}
Und damit die Funktion nicht ganz so banal ist, habe ich noch einen Parameter eingebaut. Hier können Sie noch eingeben, wie viele Zeilenumbrüche das Programm einfügen soll. Mit
echo 'Hallo Welt!'.brlf(2);
fügen Sie also zwei Zeilenumbrüche nach "Hallo Welt" ein.
Ich gebe es zu, solche Funktionen sind trivial, nahe liegend und nicht gerade aufregend. Und genau deswegen hat es so lange gedauert, bis ich mir endlich angewöhnt hatte, sie konsequent zu verwenden.
Was halten Sie von solchen Konstruktionen? Schreiben Sie mir.
Buch: PHP5 die Neuerungen (SQLite, XML, MySQLi, SimpleXML)




