Tach!
Ich schätze es sehr, wenn meine HTML-Dateien nur Platzhalter enthalten und ich sie mit file_get_contents einlesen kann, anstatt mir entweder das HTML mit PHP zu versauen, oder das PHP mit HTML.
ja sehe ich meistens genau so.
Bedenke aber, PHP ist bereits eine Template-Sprache. Wenn du da noch eine Schicht einziehst, kann das bei einigen Aspekten (zum Beispiel Übersichtlichkeit, einfachere Handhabung) helfen, erhöht aber auch die Komplexität und damit die Fehleranfälligkeit.
Allerdings frage ich mich gerade dabei was passiert, glücklicherweise noch nie vorgekommen, wenn arrayname unerlaubte Zeichen enthalten würde, wie zb. Chinesisches Schrift oder so was, bin mir gar nicht sicher was ein Array Name so alles an Zeichen erlaubt, werde ich gleich mal nachschauen.
Variablennamen sind sehr variabel gestaltbar: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*. Das heißt - neben ASCII-Buchstaben, Unterstrich und Ziffern (außer erstes Zeichen) - alles was mit Bytewerten größer als 0x7F darstellbar ist, lässt sich verwenden. Ein erlaubter Variablenname wäre zum Beispiel $foo‒bar. Aber verwenden sollte man den nicht, weil er mit $foo-bar verwechselbar wäre. Hast du den Unterschied bemerkt? U+2012 und U+002D. UTF-8-kodiertes Chinesisch ist in PHP problemlos als Variablenname verwendbar.
Für Array-Keys, falls du die gemeint hast, gibt es (nur Strings betrachtend) keine Einschränkungen.
dedlfix.