sprintf und HEREDOC/NOWDOC kombinieren (Thema: PHP Beispiele)

Anwendung von sprintf() und HEREDOC- oder NOWDOC-Syntax gleichzeitig

1. Einleitung

Sowohl sprintf als auch die HEREDOC-Syntax können dabei helfen, Strings so zu definieren, dass sie im Code übersichtlicher bzw. lesbarer erscheinen. Beide Techniken lassen sich kombinieren, was gerade bei längeren Texten hilfreich sein kann. Dazu muss nur der HEREDOC-String direkt als Parameter an sprintf() übergeben werden.

2. Beispiel

Im nachfolgenden Beispiel wird ein mehrzeiliger Textabschnitt definiert, welcher mehrere variable Stellen enthalten soll, deren Werte jeweils anhand von Funktionsaufrufen bestimmt werden. Für das Definieren des Strings wird HEREDOC verwendet (NOWDOC wäre genauso möglich), für das Ersetzen sprintf(). Dabei ist nur zu beachten, dass die weiteren Parameter von sprintf (nach dem HEREDOC-String) nicht in der selben Zeile stehen dürfen, wie die Endmarkierung des HEREDOC-Strings. Andernfalls entsteht ein Parse Error.

PHP-Code
<?php
	define('WEBSITE_NAME', 'best-example-website.com');
	
	function getUserName() {
		// Beispielrueckgabe
		return 'Musteruser';
	}
	
	function getUserRegisteredTimestamp() {
		// Beispielrueckgabe
		return 900000000;
	}
	
	function getUserCountLogins() {
		// Beispielrueckgabe
		return 128;
	}


	$text = sprintf(<<<TEXT
Hallo, %s!
Willkommen auf %s, der besten Beispielseite im Web.
Hier findest du einfache Erklärungen zu allen Themen des täglichen Lebens.
Bist du auf der Suche nach kulinarischen Hochgenüssen? Dann lies auf jeden Fall unsere neue Sektion "Hunde richtig zubereiten".
Damit beim Essen auch etwas Romantik aufkommt, solltest du unbedingt einen Blick auf unseren beliebtesten Artikel
"Wie Sie ihre Katze zu einem candle light dinner überreden" werfen.

Wir freuen uns darüber, dass du schon seit dem %s Mitglied bei uns bist.
Insgesamt hast du uns %d mal besucht.
TEXT
			, getUserName(), WEBSITE_NAME, date('d.m.Y', getUserRegisteredTimestamp()), getUserCountLogins());
			
	echo($text);
?>

HTML-Code: Ausgabe
Hallo, Musteruser!
Willkommen auf best-example-website.com, der besten Beispielseite im Web.
Hier findest du einfache Erklärungen zu allen Themen des täglichen Lebens.
Bist du auf der Suche nach kulinarischen Hochgenüssen? Dann lies auf jeden Fall unsere neue Sektion "Hunde richtig zubereiten".
Damit beim Essen auch etwas Romantik aufkommt, solltest du unbedingt einen Blick auf unseren beliebtesten Artikel
"Wie Sie ihre Katze zu einem candle light dinner überreden" werfen.

Wir freuen uns darüber, dass du schon seit dem 09.07.1998 Mitglied bei uns bist.
Insgesamt hast du uns 128 mal besucht.

Kommentare (0)

Von neu nach alt