За последние 24 часа нас посетили 31034 программиста и 1441 робот. Сейчас ищут 894 программиста ...

Как вы думаете о экономии запроса!

Тема в разделе "Прочие вопросы по PHP", создана пользователем engine.energy, 10 авг 2015.

  1. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Я решил создать ядро двигателя который будет оптимальный запрос в конце скрипта.

    1. При загрузка шаблона собирает информацию каждого "ИДЕНТИФИКА́ТОР" значения.

    Пример: <div> $user->login </div> $user мы знаем так как был вызван "new User(1)", но не запрашивает к базу.
    После, отработанный превращает в шаблонный код <div>[[%user.1.login]]</div>.

    2. Поиск шаблона "ИДЕНТИФИКА́ТОР" значения.

    Пример: <div>[[%user.1.login]]</div> был найден и добавляет в массив "users" как все найдены в шаблоны переходит к запрос базу.

    3. Запрос база.

    Пример: Как с шаблона был собран все значение и лишь выполняя 1 запрос каждого "user" пользователя. Что ушло лишь 1 запрос.

    4. Ставка "ИДЕНТИФИКА́ТОР" значение в шаблон.

    Пример: <div>[[%user.1.login]]</div> -> становит -> <div>Test</div>.

    Поэтому мне нужно заранее решить делать ли ядро или нет. Зависит от вашего мнения... Спасибо заранее!
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    напонятно причем тут шаблон. идентификаторы берутся или из входных данных, или как результат работы некоего скрипта(логика работы).
    Шаблон это только оформление результата. а вообще так и делаеют. сначала собирают всю информацию, а потом делают запросы в БД. чтоб не плодить запрос на каждый чих.
     
  3. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    runcore, Я и говорю. Сначало он все отрабатывает шаблон и преврашает в [[]] свои условия. А после чего собирают его все через preg_match или preg_replace и массив собрано и начинает из него думать логику запрос базу что являет 1 разовый запрос.

    Например чат.
    1 запрос получение 10 коммент чата
    10 запрос получение каждого оставленного коммент чата.
    итог 11 запрос. Это у всех стандартно пока без кеша.

    А в идеях заключает собрал щаблон и разпазнает

    <div>[[%user.1.login]]</div> где user это класс ответа, а 1 это номер пользователя, login это понятно выведет Test так как он писал в коммент
    [[%chat.1.message]] тут ясно chat класс, 1 номер коммент, message сообщения.

    Как видать все он стал так потом запрос выполнил 1 раз. Который массив уже собрал его значение и возврашает ответ.