2017-03-17 4 views
0

Ich mag es nicht, eine Template-Engine in PHP zu verwenden. Aber ich möchte {Variable} einer PHP-Variablen zuweisen. Wie kann ich diese Variablen in eine PHP-Variable konvertieren?Klammern variable PHP

Ich habe versucht, auf Stackoverflow usw. zu suchen, nichts ist was ich meine.

Wahrscheinlich werden Sie vorschlagen, eine TPL-Engine zu verwenden, aber das ist nicht meine Frage. Was sollte der richtige Ausdruck für diese "Funktion" sein? Ich möchte nur zum Beispiel mit einem guten Tutorial lernen.

{username} Links zu $user->data()->username

+1

Meinst du, dass du selbst tun willst, was eine Template Engine macht? Weil eine Template-Engine genau das tut, was Sie fragen. Aber Sie möchten die Logik selbst schreiben. Hab ich recht? Sie fragen, wie man '{username}' using php ersetzen kann? Oder bin ich falsch verstanden. –

+1

Sie benötigen eine Kombination aus einem Parser und einem Compiler. Das zusammen nennt man eine Template-Engine. – arkascha

+0

Vielleicht kann es Ihnen helfen http://php.net/manual/en/function.extract.php – daheda

Antwort

2

Wenn Sie schauen, um Ihre eigenen grundlegenden Templating rollen Sie str_replace

$string = 'Hello {username} Today is {fulldate}'; 
$search = ['{username}', '{fulldate}']; 
$replace = [$user->data()->username, date(DATE_RFC850)]; 
$result = str_replace($search, $replace, $string); 

voller gotchcas sein, wenn du nicht aufpasst Es ist einfach und roh und verwenden können. Aus diesem Grund wird die Verwendung einer Vorlagen-Engine dringend empfohlen. Sie sind leistungsfähiger und in der Regel sicherer als Ihre eigenen.