Вадим Думбравану. так зручніше, причому як розробляти, так і управляти.
Файли і База даних
Bitrix Framework реалізований на файлах, що дає більше свободи розробнику сайту. Оскільки файл в системі - це просто виконуваний файл, то і виконувати він може що завгодно: хоч власний PHP-код програміста, хоч стандартні компоненти - в будь-якому порядку. Як не дивно, ця повна свобода може налякати початківця розробника, але з досвідом це проходить.
Примітка. виконання PHP це велика перевага статичної сторінки Bitrix Framework.
Файли можна правити як по FTP, так і в SSH, не вдаючись до додаткових інструментів СУБД. Їх легко копіювати, переміщати, робити резервні копії і т.п. Строго кажучи, ви можете весь контент зберігати в БД. Але для простих статичних сайтів це буде явне ускладнення і уповільнення.
Реалізація на файлах здається проблематичною в тому плані, що від такої системи очікується десятки тисяч файлів на диску. Зазвичай це не так. Динамічна інформація (новини, каталог товарів, статті) зберігаються в БД модулем Інформаційні блоки. Тоді для виведення, наприклад, десятка тисяч товарів в інтернет-магазині використовується одна єдина фізична сторінка (файл). У цьому файлі викликається компонент Інфоблоки, який в свою чергу обирає і виводить товари з бази даних.
Однак, для кожного товару буде створений файл в кеші, щоб, при наступному зверненні покупця сервер не напружувався з запитами до БД. Це і дозволяє запускати магазини рівня Ельдорадо.
При належному умінні публічна частина може складатися з десятка фізичних файлів. Весь контент може бути в Інфоблоки, включаючи меню. Але зазвичай статичні сторінки (наприклад, Про компанію) зручніше редагувати як файл, а не як запис БД. Але якщо таких статичних сторінок стає необмежено багато, то це привід, щоб структурувати їх і розмістити не на диску, а в Інфоблоки.
Розмір системи досить великий, так як в її склад включено безліч компонентів необхідних для швидкого старту і роботи адміністративної частини. Компоненти не консолідовані, тому що система модульна. Модулі, компоненти і шаблони мають певну структуру. Це важливо і для оновлень системи і для розробки своїх компонентів.
Резюме. Як інструмент зберігання структури сайту обрана саме файлову систему, а не база даних в силу того що:
- Файл дає більше свободи розробнику сайту. Оскільки файл в системі - це просто виконуваний файл.
- Так зрозуміліше для управління. У корені такого уявлення - структура статичних сторінок HTML, розкладених по папках. Шляхом деякого вдосконалення (впроваджуючи невелика кількість PHP-коду), ми з такого сайту відразу отримуємо працює на Bitrix Framework проект.
- В якійсь мірі це - традиція, яка мала велике значення на зорі становлення CMS.
- Таке уявлення відповідає досвіду контент-менеджерів, які працюють з локальними файловими системами (папки та файли).
Структура сайту також може бути і в БД (Інфоблоки), але управляти ієрархією в реляційної БД не дуже-то зручно.
Розглянемо використання файлів в Bitrix Framework на прикладах:
- Файлова система і меню. Меню в файлах дозволяє не підключати БД там, де це реально не потрібно. Те ж саме відноситься до властивостей сторінок і розділів, а також прав доступу до файлів. Теоретично можна зібрати інформаційний сайт, де взагалі не буде жодного звернення до БД. Працюватиме швидше, особливо на разделяемом хостингу. Є і бонуси: при копіюванні розділу відразу природним чином копіюються меню, права доступу, властивості розділу.
- Файлова система і користувачі. Користувачам з адміністративного розділу відкритий доступ до файлів ядра і іншим програмним файлів. Але користувачі бувають різні. Наприклад, техпідтримка 1С-Бітрікс. Якщо веб-розробник не впевнений в своїх користувачів, то він завжди може заборонити їм як редагування коду PHP, так і цілих розділів (ядра). За сучасної концепції Bitrix Framework в публічній частині не повинно бути коду PHP - все повинно бути інкапсульоване в компоненти. Тоді користувач редагує або "голу" статику, або налаштовує компонент.
- Файлова система і мовні версії. Було б важко супроводжувати мовну інформацію в БД. Інформація в мовних файлах змінюється вкрай рідко - простіше раз на рік відредагувати рядок в мовному файлі, ніж зберігати ці статичні фрази в базі. І повторимося: база даних - це повільно і великій кількості.
структура файлів
Файлова структура Bitrix Framework організована таким чином, що програмні компоненти ядра продукту були відокремлені від призначених для користувача файлів, а також файлів, що визначають зовнішнє уявлення сайту. Дана особливість дозволяє:
- уникнути небажаної модифікації ядра продукту при роботі з файлами системи;
- виключити можливість зміни публічній частині сайту під час завантаження оновлень продукту.
- налаштувати зовнішній вигляд сайту практично під будь-яку вашу задачу
Вся система цілком лежить в каталозі / bitrix /. в нього входять такі підкаталоги і файли: