JohnCMS | Разработка следующей версии

Тема закрыта
71.06K
.
(\/)____o_O____(\/)
AlkatraZ, Гляну если доберусь до компа) пятница же
.
╭∩╮ (`-`) ╭∩╮
# Koenig (08.11.2019 / 11:12)
AlkatraZ, Гляну если доберусь до компа) пятница же
Точно, молодец напомнил и я молодец, что с утра написал доработку.
Вечером возьму пива
.
╭∩╮ (`-`) ╭∩╮
Да, забыл про хинкали
Прикрепленные файлы:
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
Новости разработки

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

Не читал, но одобряю гг.

Добавлено: 08.11.2019 / 14:28
А че, ведь реально красиво.
Сравните (список Новостей): что было и что стало.
Где понятнее, догадайтесь сами
.
Hey guys! Finally I'm gonna change status!?
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.
Ну думаю для того, чтобы не дёргать таблицу с темами т.к. она может и вообще не понадобиться никогда если не делать обсуждения на форуме...
.
Hey guys! Finally I'm gonna change status!?
Simba, Да это про лишний запрос в цикле написал))
П.С. Новости как константы?
Не согласятся, я вот например не согласен с тем что у меня 5 лет пенсии сперли без обсуждения
.
Hey guys! Finally I'm gonna change status!?
AlkatraZ, Еще забыл, нет индекса по time.
create index idx_news_time ON news(`time` DESC)
Всего: 1376
Кураторы: AlkatraZ