Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

bbcode uid - зачем?

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
KSergey
phpBB 1.0.0
Сообщения: 4
Стаж: 2 года 3 месяца

bbcode uid - зачем?

Сообщение KSergey »

Добрый день!

Подскажите, зачем PhpBB при сохранении в БД к bb-кодам дописывает еще некий uid ? какой в нем смысл?
Не могу сообразить. Вроде только лишняя обработка, как по мне, но вероятно я что-то не углядываю.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 15 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 590 раз

Re: bbcode uid - зачем?

Сообщение Nekstati »

Наследие прошлых версий. Раньше UID использовался для парсинга ББкодов, сейчас не используется. А почему он продолжает дописываться и в новые посты - предполагаю, по инерции, или потому, что некоторые старые функции могут плохо отреагировать на отсутствие UID. Если вы сами что-то разрабатываете, UID можно оставить пустым. На практике проблем с этим нет.
KSergey
phpBB 1.0.0
Сообщения: 4
Стаж: 2 года 3 месяца

Re: bbcode uid - зачем?

Сообщение KSergey »

Nekstati, понял вас, спасибо за разъяснения.
В том-то и дело, что работает без них отлично же, но я думал может какой-то тайный смысл в них есть.
Надо тогда будет на своём форуме выпилить их формирование / использование вовсе из кода.

В чем же все-таки была изначальная задумка авторов... Мне б в голову никогда не пришло что-то еще дописывать к bb-кодам, причем уникальное в каждом сообщении.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 15 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 590 раз

Re: bbcode uid - зачем?

Сообщение Nekstati »

Раньше (до phpBB 3.2 вроде бы) ББкоды хранились в базе данных в таком виде:
простой текст [b:2wby58v3] жирный текст [/b:2wby58v3]
И чтобы быстро их найти и безошибочно опознать, помогал этот UID.
KSergey
phpBB 1.0.0
Сообщения: 4
Стаж: 2 года 3 месяца

Re: bbcode uid - зачем?

Сообщение KSergey »

Да, я вижу, что они так хранятся. От того и вопрос, т.к. мне решительно не понятно зачем добавлять эти UID внутрь каждого bb-кода при сохранении в БД.
Вы приводите причину: "И чтобы быстро их найти и безошибочно опознать, помогал этот UID." Вот бы не подумал, что это быстрее. Но вполне возможно, что в самом деле так.

Вообще, конечно, вопрос-интерес мой возник потому, что в добавленные мною теги не добавлялись эти UID при сохранении (хотя сами теги работали, что надо форматированли), вот и задался вопросом: а зачем их вообще добавляют авторы PhpBB, в чем смысл и ценность.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 15 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 590 раз

Re: bbcode uid - зачем?

Сообщение Nekstati »

Смысл, насколько понимаю, в том, чтобы ББкоды не требовали регулярных выражений при отображении сообщения, а заменялись на HTML-код простым str_replace(). Без UID пришлось бы каждый раз делать preg_replace(), а при наличии объёмных текстов и большого кол-ва ББкодов это тормоза. То есть так: мы сделали тяжёлый preg_replace() лишь один раз при сохранении сообщения, нашли все ББкоды, пометили их UIDами, и теперь каждый раз при отображении можем делать простой str_replace(). См. функцию bbcode_second_pass() в старых версиях phpBB.
KSergey
phpBB 1.0.0
Сообщения: 4
Стаж: 2 года 3 месяца

Re: bbcode uid - зачем?

Сообщение KSergey »

Понял, да, логично
Спасибо за подробные разъяснения.

Вернуться в «phpBB-пространство»