За последние 24 часа нас посетили 22120 программистов и 1102 робота. Сейчас ищут 730 программистов ...

Хранить посты, страницы в файле или в БД?

Тема в разделе "PHP для новичков", создана пользователем Konstant1n, 25 янв 2019.

  1. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Доброго дня!
    Где лучше хранить содержимое постов, страниц - в html файлах или в БД?
    В каком случае скорость отображения (подключение файлов html, извлечения из БД) будет выше?
    Как добавить, обновить, удалить данные в/из БД знаю. А вот как редактировать посты, страницы, если они хранятся в html файлах?
    В каком случае индексация будет результативнее?
     
    #1 Konstant1n, 25 янв 2019
    Последнее редактирование: 25 янв 2019
  2. username1

    username1 Новичок

    С нами с:
    23 янв 2019
    Сообщения:
    33
    Симпатии:
    2
    в каком смысле лучше?
     
  3. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    тупой вопрос у тебя. схера хранить в html? Объясни))
    Какая индексация?)))
     
    AlexandrS нравится это.
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    @Konstant1n, храните в БД. При больших нагрузках, если потребуется, будете думать о кэшировании (в памяти/в ФС на диске).
    --- Добавлено ---
    Надеюсь, вы не индексацию ПС имеете в виду :confused:
    --- Добавлено ---
    Ручками :) Это последнее дело. В норме вы по-прежнему будете редактировать фактические данные в БД, и только кэш страниц будет храниться в ФС.
     
  5. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    индексация поисковыми роботами
    --- Добавлено ---
    индексация поисковыми роботами
    --- Добавлено ---
    не понял :)
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Развивай мысль) как они определят как ты страницу сгенерировал?)

    twig, blade, smarty
    --- Добавлено ---
    пхп код еще сам кеширует опкод.
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Я тебе дал шанс выйти из неловкого положения. Ты им не воспользовался :)

    В готовом виде страницы никогда не редактируешь, только в БД. А после редактирования страницы она повторно генерируется и сохраняется в файле. Причем обычно это происходит по запросу страницы. А при редактировании максимум что тебе нужно сделать, так это почистить кэш, возможно частично.
     
    Konstant1n нравится это.
  8. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    это кому что нравится, в файле удобней для меня, я использую dat, прекрасно индексируется
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Что прям dat- и индексируются? :D
    --- Добавлено ---
    Может, все же индексируется результат работы DAT-паттерна ;)
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    @Konstant1n с точки зрения индексации нет никакой разницы как это хранится. отдаётся как text/html в любом случае.
    про скорость: статические файлы отдаются быстрее, чем страницы, которые надо как-то обработать. но нужна ли тебе эта суперскорость и стоит ли она тех ништяков, которых ты лишишся без базы — это настоящий вопрос.

    p.s. пожалуйста не относись к комментаторам так, как будто они тебе что-то должны. это не так :) я рассмотрел твои жалобы.
     
    Konstant1n нравится это.
  11. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Да. Согласен.
     
  12. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    допустим есть шаблон и я подключаю туда только содержимое страницы about.html?
    а title и meta=keywords все равно придется хранить в БД?
    HTML:
    1. </head>
    2. Меню и т.п.
    3. <?php require "about.html"; ?>
    4. </body>
    5. </html>
     
  13. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    гы)))
    Книги не читаешь, посмотри на ютубе хоть видос как сайты пишут)
     
  14. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    че смотреть, тут вариантов не много
     
  15. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    тут это где?
     
  16. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    смысле вообще
    --- Добавлено ---
    ты бы как сделал?
    --- Добавлено ---
    А что, если хранить основное содержимое страниц в html файле, а заголовок, meta теги, путь к файлу основного содержимого в БД?
    в html файл уже можно писать php код
     
  17. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    не скажу. Ответ гуглится за минуту.
    Обучение это боль. Добро пожаловать в программирование)
     
  18. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
     
  19. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Прекрати забивать гвозди тапком.
    У тебя должен быть 1 файл где ты подключаешь head, content, footer. И маленький роутер по подключению content взависимости реквеста url, и установки мета данных. В контенте уже мути все свои запросы в бд и не думай о том треше что ты хочешь сделать
     
  20. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Нафига основное содержимое выносить в файл, когда большую часть работы с БД ты все равно будешь выполнять? Есть ограничения на размер БД? Или начитался о том, что большие тексты с трудом вытягиваются из БД? Мы, кстати, когда-то так делали в G-Drive, но это было в незапамятные времена и связано с тем, что изначально движок был полностью «на файлах», а потом решили перетянуть «метаданные страниц» в БД и добавили к названию DBE (Database Engine). Отдельного поля для хранения имени файла не было, т.к. нативные ЧПУ четко накладывались на ФС, а значение единственного GET-параметра преобразовывалось в концовку имени файла #значение.

    Зачем в основном контенте php-код? Я вам на днях писал, что это крайне небезопасно. Может, вы хотите изобрести что-то вроде вложенных шаблонов? Так это не основной контент, а действительно вспомогательный код страниц, например см. поле module в осн. таблице тут и примеры вложенных шаблонов тут.
    --- Добавлено ---
    P.S. От движков на файлах отказались лет 15 назад. После ни от кого не слышал, чтобы кто-то об этом сожалел.
     
    Konstant1n нравится это.
  21. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Спасибо. Буду работать только с БД. Этот вопрос возник, когда я задумался - как вставить изображения в контент не так <img src="">,
    а кодом php вытягивать данные с БД, т.е. указать просто <?= getImage(ИД) ?>. Попробую с заменой сделать и гляну ваши ссылки.
    --- Добавлено ---
    Да, есть такой файл - template.tpl.php. Там require $view - первый параметр метода render. В View есть метод render("page.tpl.php",$data).