Доброго дня! Где лучше хранить содержимое постов, страниц - в html файлах или в БД? В каком случае скорость отображения (подключение файлов html, извлечения из БД) будет выше? Как добавить, обновить, удалить данные в/из БД знаю. А вот как редактировать посты, страницы, если они хранятся в html файлах? В каком случае индексация будет результативнее?
@Konstant1n, храните в БД. При больших нагрузках, если потребуется, будете думать о кэшировании (в памяти/в ФС на диске). --- Добавлено --- Надеюсь, вы не индексацию ПС имеете в виду --- Добавлено --- Ручками Это последнее дело. В норме вы по-прежнему будете редактировать фактические данные в БД, и только кэш страниц будет храниться в ФС.
индексация поисковыми роботами --- Добавлено --- индексация поисковыми роботами --- Добавлено --- не понял
Развивай мысль) как они определят как ты страницу сгенерировал?) twig, blade, smarty --- Добавлено --- пхп код еще сам кеширует опкод.
Я тебе дал шанс выйти из неловкого положения. Ты им не воспользовался В готовом виде страницы никогда не редактируешь, только в БД. А после редактирования страницы она повторно генерируется и сохраняется в файле. Причем обычно это происходит по запросу страницы. А при редактировании максимум что тебе нужно сделать, так это почистить кэш, возможно частично.
Что прям dat- и индексируются? --- Добавлено --- Может, все же индексируется результат работы DAT-паттерна
@Konstant1n с точки зрения индексации нет никакой разницы как это хранится. отдаётся как text/html в любом случае. про скорость: статические файлы отдаются быстрее, чем страницы, которые надо как-то обработать. но нужна ли тебе эта суперскорость и стоит ли она тех ништяков, которых ты лишишся без базы — это настоящий вопрос. p.s. пожалуйста не относись к комментаторам так, как будто они тебе что-то должны. это не так я рассмотрел твои жалобы.
допустим есть шаблон и я подключаю туда только содержимое страницы about.html? а title и meta=keywords все равно придется хранить в БД? HTML: <html> <head> </head> <title></title> <body> Меню и т.п. <?php require "about.html"; ?> </body> </html>
смысле вообще --- Добавлено --- ты бы как сделал? --- Добавлено --- А что, если хранить основное содержимое страниц в html файле, а заголовок, meta теги, путь к файлу основного содержимого в БД? в html файл уже можно писать php код
Прекрати забивать гвозди тапком. У тебя должен быть 1 файл где ты подключаешь head, content, footer. И маленький роутер по подключению content взависимости реквеста url, и установки мета данных. В контенте уже мути все свои запросы в бд и не думай о том треше что ты хочешь сделать
Нафига основное содержимое выносить в файл, когда большую часть работы с БД ты все равно будешь выполнять? Есть ограничения на размер БД? Или начитался о том, что большие тексты с трудом вытягиваются из БД? Мы, кстати, когда-то так делали в G-Drive, но это было в незапамятные времена и связано с тем, что изначально движок был полностью «на файлах», а потом решили перетянуть «метаданные страниц» в БД и добавили к названию DBE (Database Engine). Отдельного поля для хранения имени файла не было, т.к. нативные ЧПУ четко накладывались на ФС, а значение единственного GET-параметра преобразовывалось в концовку имени файла #значение. Зачем в основном контенте php-код? Я вам на днях писал, что это крайне небезопасно. Может, вы хотите изобрести что-то вроде вложенных шаблонов? Так это не основной контент, а действительно вспомогательный код страниц, например см. поле module в осн. таблице тут и примеры вложенных шаблонов тут. --- Добавлено --- P.S. От движков на файлах отказались лет 15 назад. После ни от кого не слышал, чтобы кто-то об этом сожалел.
Спасибо. Буду работать только с БД. Этот вопрос возник, когда я задумался - как вставить изображения в контент не так <img src="">, а кодом php вытягивать данные с БД, т.е. указать просто <?= getImage(ИД) ?>. Попробую с заменой сделать и гляну ваши ссылки. --- Добавлено --- Да, есть такой файл - template.tpl.php. Там require $view - первый параметр метода render. В View есть метод render("page.tpl.php",$data).