є наступним чином: система отримує запит від користувача, запускається Front Controller у вигляді скрипта index.php. Він підключає скрипт startup.php, в якому відбувається підключення необхідних бібліотек і класів та їх ініціалізація. Потім index.php передає управління екземпляру класу Router, в якому відбувається запуск потрібного контролера. Контролер виконує необхідні дії, передає параметри шаблоном і визначає ім'я вторинного шаблону. Потім управління повертається в index.php, який передає параметри первинного шаблоном і ініціює його висновок. p align="justify"> На малюнку 6 можна побачити діаграму послідовності роботи компонентів системи.
В
Рис. 6. Діаграма послідовності роботи компонентів
4.5 Організація взаємодії додатку з базою даних.
Зв'язок нашого програмного засобу з базою даних здійснюється за допомогою зовнішньої бібліотеки DbSimple. Основні можливості бібліотеки:
В· Підтримка PHP 4 і 5, СУБД: MySQL, PostgreSQL та InterBase/FireBird.
В· Простий і лаконічний інтерфейс
В· Умовні макропідстановки ({}-блоки) і placeholder-и в тілі SQL-запиту
В· Екранування спецсимволов і захист від SQL - ін'єкцій
В· Об'єднання операцій вибірки та отримання даних
Створення об'єкта для роботи з БД виглядає наступним чином:
$ DB = DbSimple_Generic :: connect ($ DSN);
Змінна $ DSN задається в конфігураційному файлі і має вигляд scheme ://user: password @ host/database , де scheme - сервер БД (наприклад mysql, interbase), user і password - ім'я користувача та пароль для доступу до БД, host - адреса сервера, де розташована БД, database - ім'я нашої БД.
Вибірка з БД здійснюється наступним чином:
$ table = $ DB-> select ( SELECT * FROM table ); p>
Змінна $ table тепер зберігає в собі масив, кожен елемент якого є рядком таблиці бази даних. Отримати доступ до даних можна таким чином:
$ id = $ table [0] [ id ];
.6 Довідкова система
У програмному засобі передбачена коротка довідка по функціях системи. Якщо для сторінки доступна довідка, то у верхній частині з'являється посилання В«ДовідкаВ», при натисканні на яку з'являється вікно з довідковою інформацією. При повторному натисканні на посилання, вікно закриваєтьс...