<?php
/**
* Функция чтения шаблонов
*/
function getTpl($tpl)
{
if(file_exists(IRB_ROOT .'/skins/tpl/'. $tpl .'.tpl'))
return file_get_contents(IRB_ROOT .'/skins/tpl/'. $tpl .'.tpl');
else
die('The template <b>'. $tpl .'.tpl</b> is absent in the specification');
}
/**
* Функция разбора шаблона
*/
function parseTpl($cont, $data = '')
{
if(is_array($data))
{
extract($data, EXTR_PREFIX_ALL, 'tpl');
ob_start();
eval('?>'. $cont .'<?php ');
$cont = ob_get_contents();
ob_end_clean();
}
return $cont;
}
а тут модель
<?php
$res = mysqlQuery("SELECT DATE_FORMAT(`date`,'%d-%m-%Y') AS `date`, `title`,
SUBSTRING_INDEX(`text`,' ', 20) AS `text`
FROM `". IRB_DBPREFIX . $table ."`
WHERE `public` = 1
ORDER BY `id` DESC "
);
$rows = '';
$tpl = getTpl('news/rows');
while($row = mysqli_fetch_assoc($res))
{
$row['title'] = htmlspecialchars($row['title']);
$row['text'] = nl2br(htmlspecialchars($row['text']));
$rows .= parseTpl($tpl, $row);
}
меня больше интересует вот что. В модели разбирается шаблон через функцию parseTpl, туда идут параметры $tpl и массив $row. А уже в самой функции приходящие параметры какие-то $cont, $data = ''. Что они означают?