Heredoc ist unschön. Besser ist, das Template für das URL in eine dedizierte Datei auszulagern:
$tmpl = file_get_contents( $this->TMPLDIR.$urltemplate ); $url = $this->render($url, $opts);
Dann sollte man den Pfad zur Template-Datei konsequenterweise auch nicht mit String-Verkettung zusammenfügen, sondern mit einer ordentlichen Templating-Engine.
$path = $this->render(
'%directory%/%filename%', array(
'directory' => $this->TMPLDIR,
'filename' => $urltemplate
));
$tmpl = file_get_contents($path);
$url = $this->render($tmpl, $opts);
Und das Template dafür sollte konsequenterweise in eine eigene Datei ausgelagert werden.
$pathTmpl = filge_get_contents($this->TMPLDIR . $pathtemplate);
$path = $this->render($pathTmpl, ['directory' => $this->TMPLDIR, 'filename' => $urltemplate]);
$tmpl = file_get_contents($path);
$url = $this->render($tmpl, $opts);
Aber den Pfad für das Pfad-Template sollte man natürlich auch nicht mit String-Verkettung zusammenbauen, sondern mit einer vernünftigen Templating-Engine.
Besser ist, das Template für das URL in eine dedizierte Datei auszulagern:
Noch besser ist es die Template-Datei auf einen dedizierten Server auszulagern.
Wennschondennschon.
Eben.