dedlfix: Mehrere Strings in einer Variable speichern

Beitrag lesen

echo $begrüßung;

Hallo zusammen, ist teste gerade folgendes:

$mytext = "$headertext$einleitung$footertext";

und siehe da, es funktioniert. Mache ich das so richtig, oder gibts dafür eine bessere Lösung.

Es gibt viele Möglichkeiten, einen String zusammenzusetzen. Welche davon die beste ist kommt auf den konkreten Anwendungsfall an und selbst dann kann man nicht unbedingt die beste küren, weil da auch die persönlichen Vorlieben eine Rolle spielen.

Um mal ein paar Beispiele zu bringen:

// damit wird erst ein String gebildet und der dann ausgegeben.
echo $a . $b . $c;

// damit gibt man die Inhalte direkt aus und spart sich die Stringbildung
echo $a, $b, $c;

$x = "$a$b$c";

// diese Version sieht man gelegentlich, die Anführungszeichen sind aber komplett überflüssig.
$x = "$a";

// möglicherweise anfällig für SQL-Injection
$sql = "SELECT * FROM $table WHERE a='$a' AND b='$b'";

// immer noch möglicherweise anfällig für SQL-Injection. Mir gefällt das Rein-Raus nicht. Ich finde das nicht sehr lesefreundlich.
$sql = "SELECT * FROM " . $table . " WHERE a='" . $a . "' AND b='" . $b "'";

// in meinen Augen lesbarer und außerdem noch abgesichert.
$sql = sprintf("SELECT * FROM %s WHERE a='%s' AND b='%s'",
  TABLE, // zur Abwechslung mal eine Konstante
  mysql_real_escape_string($a),
  mysql_real_escape_string($b));

echo "$verabschiedung $name";