SQL і PL/SQL-вирази. Основний функціонал являє собою підтримку транзакцій, прив'язку змінних PHP до відповідних плейсхолдерам Oracle.
Приклад PHP скрипта зображений на малюнку 3.2.
Рисунок 3.2
Обмін даними між клієнтом і сервером відбувається за технологією AJAX. Вона не є самостійною, і являє собою концепцію використання декількох суміжних технологій. AJAX базується на двох основних принципах:
- використання технології динамічного звернення до сервера на льоту raquo ;, без перезавантаження всієї сторінки повністю
- використання DHTML (CSS, DOM і JavaScript) для динамічної зміни змісту сторінки
Отже, розглянемо, що ж Ajax по суті робить. Він поміщає технологію JavaScript і об'єкт XMLHttpRequest між Web-формою і сервером. Коли користувачі заповнюють форми, дані передаються в якійсь JavaScript-код, а не прямо на сервер. Замість цього JavaScript-код збирає дані форми і передає запит на сервер. Поки це відбувається, форма на екрані користувача не мелькає, не блимає, жевріє і не блокується. Іншими словами, код JavaScript передає запит у фоновому режимі; користувач навіть не помічає, що відбувається запит на сервер. Більше того, запит передається асинхронно, а це означає, що JavaScript-код (і користувач) не очікують відповіді сервера. Тобто, користувачі можуть продовжувати вводити дані, прокручувати сторінку і працювати з додатком. Потім сервер передає дані назад у JavaScript-код (все ще знаходиться в Web-формі), який вирішує, що робити з даними. Він може оновити поля форми на льоту raquo ;, надаючи додатком властивість негайно - користувачі отримують нові дані без підтвердження або поновлення їх форм.
Таким чином, ми отримуємо динамічність, чутливість, високу інтерактивність настільного програми разом з усіма можливостями інтернет.
В якості формату обміну даними між інтерфейсом і сервером використана технологія JSON, заснована на JavaScript. Головними перевагами JSON є незалежність від мови програмування і легка читаність, як машиною, так і людиною.
JSON являє собою комбінацію масивів і об'єктів і призначений тільки для зберігання даних. Як наслідок, JSON не може мати змінних і не допускає ніяких операцій над ними. Ось приклад об'єкта з використанням синтаксису JSON:
{
firm : [ BMW raquo ;, Audi raquo ;, Volkswagen ],
model : [ X5 raquo ;, A6 raquo ;, Touareg 7L ],
year : [2007, 2008, 2006],
price : [99000, 78000, 45000]
}
Передача такого об'єкта з використанням HTTP-протоколу буде відбуватися дуже швидко, оскільки містить мінімум символів. JSON не вимагають додаткового синтаксичного аналізу на стороні клієнта, що є очевидним його перевагою перед XML в аспекті передачі даних від сервера клієнту.
У PHP, для представлення даних у форматі JSON служить розширення JSON extension. У версіях PHP старше 5.2.0 підтримка JSON вбудована в ядро, в більш ранніх версіях необхідно підключати до скрипту додатковий файл з функціями.
Отже, в PHP за роботу з даними у форматі JSON відповідають дві функції: json_encode () і json_decode ().
Перша - перетворить структуру PHP (об'єкт, масив або асоціативний масив) в дані формату JSON. Друга реалізує зворотне перетворення. Цікаво, що функції json_encode і json_decode працюють коректно тільки з кодуванням UTF - 8.
Реалізація Ajax та підтримка JSON в інтерфейсі користувача забезпечується використанням бібліотеки jQuery. З численних методів цієї бібліотеки в розробленому інтерфейсі використовуються ajax () і getJSON (). Перший метод зручно використовувати для отримання даних з одного стовпця. Синтаксис методу виглядає так: jQuery.ajax (settings).
Використовувані настройки для виклику:
Таблиця 4
НазваніеОпісаніеtype: string ( GET ) Визначає тип виконуваного запиту (GET або POST). Можна використовувати також типи PUT і DELETE, але потрібно пам'ятати, що їх підтримують не всі браузери.url: string (адреса поточної сторінки) Визначає адресу, на який буде відправлено запрос.data: object, stringДанние, які будуть відправлені на сервер. Якщо вони задані не рядковим значенням, то будуть попередньо перетворені в строку.success (data, textStatus): function, arrayФункція, яка буде викликана в разі вдалого завершення запиту до сервера. Їй будуть передані два параметри: дані, надіслані сервером і вже пройшли попередню обробку і рядок зі статусом виконання. Приклад використання методу представлений на малюнку 3.3.