Właśnie próbuje napisać mały system szablonów.
Naskrobałem coś takiego:
<?php
class template {
private $str;
public function load( $file_name ) {
if( $file_name ) {
} else {
throw new Exception('Brak nazwy pliku szablonu');
}
}
public function vars( $keys ) {
foreach( $keys as $key => $value ) {
$key = '{'.$key.'}';
$this -> vars[$key] = $value;
}
}
public function display() {
if (sizeof($this -> vars
) > 0
) {
foreach ( $keys as $current_key ) {
$this -> str
= str_replace($current_key, $this -> vars
[$current_key], $this -> str
); }
}
}
}
?>
i działa to tak
<?php
try {
$tpl = new template;
$tpl->load('plik.tpl');
'title' => 'Tak to ja',
));
$tpl->display();
} catch(Exception $e) {
}
?>
Jednak potrzebuje metody, która obsłuży dane w while().
Widzę to mniej więcej tak jak w phpBB, czyli
plik php
<?php
while( $row = cos tutaj ) {
$tpl->loop_vars('news', array( 'title' => $row['title']
));
}
?>
i html
<!-- BEGIN news -->
{news.title}
<!-- END news -->
Pozdrawiam