AlkatraZ, Гляну если доберусь до компа) пятница же
# Koenig (08.11.2019 / 11:12)
AlkatraZ, Гляну если доберусь до компа) пятница же
Точно, молодец напомнил и я молодец, что с утра написал доработку.
Вечером возьму пива
Новости разработки
Зарефакторил код новостей.
Применил анонимную функцию, которая в данном контексте выглядит красивее.
Да и в добавок происходит "ленивая" инициализация. Выборка из запроса не начнется до тех пор, пока не будет
вызвана в самом шаблоне.
Не забывайте, что передана не переменная, а функция, поэтому в шаблоне вызывается со скобками $list()
Код не смотрел, но теоретически всё выглядит круто. Спасибо, Олег.
Добавлено: 08.11.2019 / 14:13
# ДоХтор (08.11.2019 / 13:46)
Код не смотрел, но теоретически всё выглядит круто. Спасибо, Олег.

Не читал, но одобряю гг.
Добавлено: 08.11.2019 / 14:28
А че, ведь реально красиво.
Сравните (список Новостей):
что было и
что стало.
Где понятнее, догадайтесь сами
AlkatraZ, А я прочитал, и сразу вопросы возникли
// $req = $db->query("SELECT * FROM `news` ORDER BY `time` DESC LIMIT ${start}, " . $user->config->kmess);
$req = $db->query("SELECT n.*, t.post_count FROM `news` n LEFT JOIN `forum_topic` t ON t.id=n.kom ORDER BY n.`time` DESC LIMIT ${start}, " . $user->config->kmess);
echo $view->render('news::index', [
'pagination' => $tools->displayPagination('?', $start, $total, $user->config->kmess),
'total' => $total,
'list' =>
function () use ($req, $tools/*, $db*/) {// а $db на кой хрен тут? 0_0
while ($res = $req->fetch()) {
$text = $tools->checkout($res['text'], 1, 1);
$res['text'] = $tools->smilies($text, 1);
if (! empty($res['kom'])) {
//$res_mes = $db->query("SELECT * FROM `forum_topic` WHERE `id` = '" . $res['kom'] . "'");
if ($res['post_count']/*$mes = $res_mes->fetch()*/) {
$res['kom_count'] = $res['post_count'] - 1;
} else {
$res['kom_count'] = 0;
}
}
yield $res;
}
},
]);
# kantry (08.11.2019 / 15:16)
AlkatraZ, А я прочитал, и сразу вопросы возникли
// $req = $db->query("SELECT * FROM `news` ORDER BY `time` DESC LIMIT ${start}, " . $user->config->kmess);
$req = $db->query("SELECT n.
Ну думаю для того, чтобы не дёргать таблицу с темами т.к. она может и вообще не понадобиться никогда если не делать обсуждения на форуме...
Simba, Да это про лишний запрос в цикле написал))
П.С. Новости как константы?

Не согласятся, я вот например не согласен с тем что у меня 5 лет пенсии сперли без обсуждения
AlkatraZ, Еще забыл, нет индекса по time.
create index idx_news_time ON news(`time` DESC)