Как стать автором
Обновить

Комментарии 24

хабр не место для эмоций :)
структура сайта все так же на файликах как 10 лет назад?
А вы предлагаете иерархию файлов и меню хранить в базе данных и делать запросы к БД с джойнами на каждый хит? :-) Объекты в файловой системе можно получить значительнее быстрее объектов в БД, особенно на другом сервере по TCP/IP.
Да, макеты/шаблоны должны храниться в файлах, это однозначно. Но структура сайта должна совершенно по другому строится. Посмотрите на современные CMS.
В XML можно хранить конечно, но как с ней работать потом удобно без 3-х этажных утилит? С точки зрения системного администратора объекты в файлах и иерархия в папках — понятна и логична имхо.
Когда папок 10, то да. А когда 1000?
Для меня идеальный вариант — шаблоны, макеты и отдельных файлах, xsl шаблоны тоже в отдельных. Структура же полностью виртуальная.
Меня в свое время битрикс покорил тем, что в отличии от сотен различных «современных» cms с их виртуальной структурой, где порой куча ограничений и сложностей на пустом месте, плюс сплошное чпу… тут у битрикса все просто как угол дома: везде, где можно и нужно используются файлы. Это просто и понятно. А главное эффективно и работает очень даже быстро.
Я поэтому Битрикс постоянно сравниваю с unix — просто, быстро, надежно и сразу понятно :-)
По этой причине он и работает на многих хостинг площадках, даже таких, которые не соответствуют его требованиям.
Откройте для себя кэширование.
Т.е. вместо одного чтения файла или директории системным вызовом вы предлагаете ходить в базу, затем кэшировать запросы к ней в других файлах или отдельном мемкэше? Быстрее получится? :-) Кэши хороши для тяжелых операций, согласен.

Посмотрите, к примеру, друпал. Первым запросом страницы штудируется база, формируется контент и кэшируется. Дальше — моментально добывается из кэша. Кэш можно хранить в БД, файлах, Memcache, APC, да где угодно.
А если большая часть контента динамическая? как например полностью кешировать страницу какого-нибудь новостного портала, где каждый пользователь видит свою страницу главной с огромной кучей динамической страницы.

При этом статические страницы, которые и так статика в битриксе остались статикой.
хранить в базе данных и делать запросы к БД с джойнами на каждый хит?


Кто бы говорил…
Конечно, так как вы храните инфоблоки в БД, это жесть с 20-30 джоинами на один запрос. Структуру разделов лучше так не делать. Вам вообще лучше ничего не делать в БД.

А получить древовидную структуру из БД можно одним простым SQL-запросом без джоинов:
SELECT * FROM `structure` ORDER BY `left_key`;

Ну, инфоблоки для других задач. Но они быстрее любой ORM, т.к. не происходит гидрация объектов и другие заморочки ORM.
Но они быстрее любой ORM

Что???
Инфоблоки это не ORM, они проще, поэтому быстрее. Или есть данные по производительности Doctrine или Propel? Там объектный огород, он не может быть быстрее простых инфоблоков.
AlexSerbul вас послушать, все CMS и Frameworks гавно, а битрикс все железно и по русски. Такими темпами интернет магазин будет легче сделать в Github Pages чем на 1С.
Я пытаюсь просто найти истину и когда вижу сложное на пустом месте начинаю задаваться вопросом — а зачем? Помните девиз java-разработчиков: «Зачем делать просто, если можно сложно?» :-)
Материалы ( в виде видео) не доступны тем, кто пропустил?
Спасибо.
На заметку: на этой странице в последней строчке опечатка «отмсенять табуляцию».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий