1) Не знаю ново ли... парсим текст на ББ перед добавлением в БД, ББ-Коды заменяем ХТМЛем... При редактированию текста - парсим наоборот: хтмл в бб-код
Плюсы схемы: не надо каждый раз парсить текст на бб-коды, но надо при редактированию...
2) Стандартная. Парсим текст при каждом выводе...
И так мега-кодеры что лучше?)))
в 1 варианте выигрыш за счет времени вывода сообщений, но больше будет база занимать)
во втором наоборот ыыы) к второму можно прикрутить кеширование и будет гуд)) второй, как по мне, более гибкий и безопасный. в чём безопасность? помню мне кто-то пример наводил, типа если базу взломают и засунут каку туда, аля хсс, то второй вариант спасёт, а первый - нет
оба варианта не есть гуд.
Создаем 2 поля в табле с постами: text и text_edit.
После написания или редактирования поста парсим ббшками текст,и записуем его в text_edit.
Вывод:
При редактировании поста - поле text
При чтении поста - text_edit
3, тож вариант, но и внем есть минусы
1) табличка наберет весу +20%
2) т.к сказал Фулеан, ломаем БД, пихаем в text_edit код-фрейма и льем себе фри траф
№3 при таком раскладе базу нужно безразмерную.
скорее всего второй вариант с кешированием самое то.
Модель должна быть отделена от реализации. В базе данных должен хранится текст (таким, как его вводит пользователь), а не представление текста (распарсенные теги).
Кэшировать нужно не парсинг тегов (это копеечное время), а запросы к базе данных - это не только экономит заметное время, но и снижает общую нагрузку на БД.
djpasica, если кто-то поломает бд, он будет хакать юзверей через xss? не смешно?
idarvel, а это не есть кеширование?
Fashion, ну почему... обычно пассы хранятся в хеше... + почему сразу ломать, траф можно сливать иль еще чет придумать...
24 Ноя 2010, 22:34