Witam,
temat może jest trochę mylący (nie mogłem wymyślić czegoś lepszego) ale po kolei:
Ostatnio zacząłem tworzyć własny, prosty system szablonów. Napisałem taką oto klasę:
<?
class Template {
//Plik z adresem szablonu:
private $tpl_file;
//Zmienna z kodem strony:
private $tpl_source;
public function __construct($tpl_file) {
$this->tpl_file = $tpl_file;
$this->tpl_source = file_get_contents($this->tpl_file);
}
public function replace_file($file_language) {
$file = fopen($file_language, 'r');
if(!$file)
echo 'Nie odnaleziono pliku: '.$file_language;
else{
while($line = fgets($file)){
$string = explode('=',$line);
$this->tpl_source = str_replace($string[0], $string[1], $this->tpl_source);
}
fclose($file);
}
}
public function replace_string($from, $to){
$this->tpl_source = str_replace($from, $to, $this->tpl_source);
}
public function view(){
echo $this->tpl_source;
}
}
?>
I wszystko działa jak trzeba. Mam tylko problem w wstawieniem skryptów. Prosty przykład, w kodzie szablonu mam taki kawałek:
{$tresc}
Zamieniam go tak:_$tpl->replace_string(’{$tresc}’, plik($_GET[‘go’]));_Funkcja plik:
function plik($plik){
$plik = 'pa/'.$plik.'.php';
if($plik = file_get_contents($plik))
return $plik;
else
echo 'Nie odnaleziono pliku';
}
I na ekranie pojawia się takie coś:
Kod html wyświetla się poprawienie jednak php nie działa.
Próbowałem również zamienić {$tresc} na includowanie pliku jednak wtedy nic się nie pokazuje.
A więc teraz moje pytanie: Jak można wkleić ten kod php tak żeby działał poprawnie i wyświetlał się w odpowiednim miejscu?