Я уже некоторое время работаю над созданием системы новостей. Я получаю наценку за каждое новостное сообщение, как показано ниже:
$newsArray = array();
$result = News::getNews($database, 5);
while($row = mysql_fetch_assoc($result))
$newsArray[] = new News($row);
foreach($newsArray as $news)
echo $news->getMarkup($database);
Это эффективный способ получения моих новостей? У меня есть файл, который содержит мою фактическую разметку поста новостей, которая называется newspost.html - и моя функция getMarkup () выглядит так:
public function getMarkup($database) {
$html = file_get_contents('include/html/newspost.html');
$find = array("{ID}", "{TITLE}", "{CONTENT}", "{USERNAME}", "{TIME}");
$replace = array($this->data['news_id'], $this->data['title'], $this->data['content'], $this->data['username'], $this->data['time']);
for ($i = 0; $i < count($find); ++$i) {
$html = str_replace($find[$i], $replace[$i], $html);
}
return $html;
}
очевидно, я не могу получить файл .php, поэтому мне пришлось самому решить, добавлять ли конкретную новостную информацию в каждый пост. Тем не менее, я чувствую, что это очень неэффективно.
Я хотел бы получить совет о том, как решить эту проблему более элегантно. Я не хочу вставлять свой постновый код непосредственно в мою функцию PHP, так как мне не нравится смешивать структуру и контент.
Обратная связь приветствуется!