ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
1Bot пишет:1Bot пишет:Может реализовать обработку ExBB кодов отдельным класом?
Не нужно будет писать моды для отдельных кодов и изменять проще наследованием при небольших правках
Нашелся целый самостоятельный проект xBB – скрипт PHP для BBCode
Цитата:Скрипт распространяется бесплатно по лицензии GNU GPL v 2. Согласно этой лицензии вы можете свободно использовать, распространять и менять этот скрипт при условии, что ваши собственные программные продукты, использующие этот скрипт, не будут распространяться, либо будут распространяться по той-же лицензии GNU GPL
Уже тестировал этот парсер. Производительность в некоторых случаях довольно низкая, некоторые страницы с сообщениями, в которых применяется многов бб-кодов, стали генерироваться по 0,5 - 1 с, хотя до этого генерация укладывалась в 0,02 - 0,1 с. Я уже говорил это в чате, повторюсь и сейчас, степень красоты PHP-кода обратно пропорциональна скорости его работы. Подобное справедливо и для многих других языков, но для интерпретируемых (коим и является PHP) особенно. Полный объём подкючаемых файлов этой библиотеки составляет ~110 Кб (не учитывая подсветки синтаксиса на базе geshi, в случае с geshi этот объём как минимум утрируется; для сравнения, всё ядро ExBB FM 1.0 RC1 занимает 78 Кб). Обработка каждого бб-кода вынесена в отдельные классы, разбитые по файлам, что с одной стороны удобно для добавления новых бб-кодов, с другой стороны на подключение этих файлов, выполнение наследования и инициализацию объекта родительского класса также тратиться некоторое время. Кстати, на форуме разработчика этой библиотеки производительность (причём, в сравнении с ExBB) обсуждалась: xBB vs ExBB bb
На мой взгляд, наилучшим решением будет сохранение текущего варианта обработки бб-кодов, а сложность его расширения можно компенсировать парсером модов, который встроен в RC2 (т.е. конечным пользователям не понадобится ковыряться в файлах для добавления новых тегов за счёт автоматизации установки модов) |