Intellect Board — cистема управления сайтомПостроение сайта на основе форума |
Intellect Board — cистема управления сайтом » Обсуждение Intellect Board 3.x » Общая характеристика IntB 3.x |
<<Назад | Модераторы: aerograf, wsx | Печать |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
Итак, перечислю основные черты, которые будут отличать IntB 3.x от 2.x. 1. Отказ от жестко фиксированной иерархии категория/раздел/тема/сообщение и переход к универсальной таблице объектов, расположенных древовидно (кроме того, в дальнейшем планируется добавление ссылок-указателей, по аналогии с symlinks в Unix-подобных системах, что позволит делать структуру вообще произвольной). Для представления дерева в базе данных будут использоваться materialized paths. Таким образом, мы переходим от CMS на базе форума к форуму со встроенный CMS. 2. Более высокоуровневая работа с БД. Если в 2.x были функции вида db_имя_функции, полностью аналогичные функциям работы с БД для MySQL, то в 3.x используются функции, позволяющие сразу извлекать поле, строку или множество строк в виде массивов без организации цикла вида while ($data=db_fetch_array($res)) и сразу же освобождать ресурс, а также обрабатывающих ситуации, когда ничего не было возвращено. Будет сохранена прежняя префиксная модель именования таблиц, но при этом будет иначе проводится сохранение: вместо автоматизированного построения части SQL-запроса в виде строки вида "поле1=значение1, поле2=значение2" будет строится хеш-массив вида поле1=>значение1, поле2=>значение2, который затем будет передаваться функции сохранения. (При этом значительно упрощается проверка и корректировка значений полей в том случае, если пользователь пытается их сфальсицифировать.) 3. Использование объектно-ориентированного программирования (объектная модель PHP 4) для предотвращения конфликта имен и использования возможностей, предоставляемых наследованием. 4. Полная изолированность модулей. Хотя в 2.x тоже используется модульный подход, однако полной изолированности модулей нет, так как они используют общие библиотеки, единые языковые файлы и структуру БД. В 3.x для каждого модуля будет свой шаблон, свой языковой файл, и свой файл, описывающий необходимые поля в структуре базы данных. При этом структура БД будет описываться не в виде SQL-запросов, а в специальном формате (возможно, XML). Обработкой этого файла будет заниматься модуль работы с базой данных, который и будет приводить структуру БД в соответствие с этим описанием. Такой подход позволит собирать дистрибутив только из тех модулей, которые действительно нужны для конкретного сайта. 5. В IntB 3.x будет полностью разделено получение данных и их вывод, что позволит использовать одни и те же процедуры для генерации обычных страниц, RSS и WAP. Оффтопик: Именно из-за отсутствия этой возможности в IntB 2 x. WAP был исключен из планов. Кроме того, это же позволит в будущем организовать API для вызова функций форума с помощью протокола SOAP.Кроме того, такой подход позволит сделать обработку информации различными парсерами в зависимости от стиля (и теоретически становится возможным написание такого парсера, который позволит использовать стили от других движков). 6. Полная изоляция функций работы с пользователями в отдельный класс. Это даст возможность желающим интегрировать IntB 3.x с другими движками избавиться от дублирования информации между базой данных чужого движка и базой IntB. 7. Кроме модулей, предусматриваются еще и подключаемые библиотеки, которые могут использоваться несколькими модулями одновременно. Также предусматривается механизм событий, с помощью которого будут вызываться подключаться определенные библиотеки и вызываться процедуры из них при наступлении определенного события (например, перед сохранением отправленного пользователем сообщения в БД). Так как механизм событий является настраиваемым, это позволит писать дополнительные библиотеки 8. Используемая кодировка — UTF-8. Также (в случае MySQL) планируется переход на таблицы типа InnoDB, отказ от FULLTEXT-поиска и замена его на собственный механизм индексации с использованием стеммера, что позволит перейти к поиску с учетом словоформ. 9. Усовершенствованные средства отладки. Теперь будут ошибки уровня warning не будут приводить к аварийному завершению скрипта. Также отключено подавление ошибок уровня notices и скрипты строятся таким образом, чтобы эти ошибки не возникали при нормальной работе. В случае возникновения ошибки выводится полный стек обратного вызова со всеми параметрами, что существенно упрощает отладку. 10. Принципиально новая возможность, которой не было в IntB 2.x — самодиагностика. Каждый модуль и библиотека имеют функцию, при вызове которой производится проверка, имеются ли условия для корректной работы или нет (т.е. загружены ли дополнения PHP, разрешена ли запись в нужные каталоги и т.п.). Наличие этой возможности позволит более просто обнаруживать возможные проблемы, особенно при переносе сайта с одного хостинга на другой. 11. IntB 3.x сразу пишется с документацией для разработчика (точнее, она генерируется автоматически средствами PHPDoc). Документация на английском языке. ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
<<Назад | Модераторы: aerograf, wsx | Печать |
Intellect Board — cистема управления сайтом » Обсуждение Intellect Board 3.x » Общая характеристика IntB 3.x |
1 посетитель просмотрел эту тему за последние 10 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
Ограничение доступа не отображаются разделы Архив версий Установка стиля на Intellect Board 2.22 Завершилась работа над новой версией 3.00 |
Самые активные 5 тем | |