Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Програмні бібліотеки підтримки розробки Web-додатків

Тип роботи: 
Дипломна робота
К-сть сторінок: 
70
Мова: 
Українська
Оцінка: 

які є точками входу при виконанні обробки відповідного запиту;

- моделі (models), які уніфікують доступ до зовнішніх даних (баз даних, файлів, мережних служб тощо) ;
- подання (views), які зберігають шаблони Web-сторінок, відокремлюючи дизайн від інформаційного вмісту HTML-документу.
Контролери
Вибір контролера, якому передається управління при обробці запиту користувача, визначається URL-адресою запиту. Типова структура URL-адреси має наступний вигляд (рисунок. 2. 3) :
 
 Рисунок 2. 3. Формат URL-адреси, що застосовується в CodeIgniter
 
URL-адреса має фіксований формат, як показано на рисуноку 2. 3. Першим параметром є назва контролера проекту, якому передається управління, далі метод у класі контролера, і остання частина – параметри, які отримає метод контролера.
Приклади:
http: //example. com/portfolio/latest/5 – клас контролера portfolio, метод контролера latest, 5 – параметр метода.
http: //example. com/blog/created – клас контролера blog, метод контролера created, без параметрів.
Слід зауважити, що на рисуноку 2. 3 після назви сайту не вказано index. php. Як правило, на практиці позбуваються використання index. php засобами Web-сервера. Наприклад, для Web-сервера Apache необхідно в кореневому каталозі проекту (див. Рисунок. 2. 2) створити файл. htaccess і вписати в цей файл наступні інструкції:
RewriteEngine on
RewriteCond $1! ^ (index\. php|images|robots\. txt)
RewriteRule ^ (. *) $ /index. php/$1 [L]
При цьому завдяки використанню модулю mod_rewrite встановлюються правила обробки запиту перед передачею його Web-додатку (тут CodeIgniter). А саме: RewriteCond вказує, які файли пропускати без обробки (index. php, images, robots. txt), а RewriteRule задає правило, що будь-який запит, крім вказаного в RewriteCond необхідно модифікувати шляхом додавання перед ним рядку index. php. Таким чином, CodeIgniter розпізнає вірний формат URL.
Моделі
Моделі призначені для об‘єднання функцій взаємодії із зовнішніми даними (файлами, базами даних) у єдиний клас. Для використання моделі необхідно створити файл PHP визначеної структури (Рисунок 2. 4) в каталозі /application/models. При чому назви файлу та класу мають співпадати, а назва класу записується з великої літери. Структура класу включає назву класу, ознаку успадкування від універсальної моделі (CI_Model), а також конструктор __constructor (), в якому викликається код батьківського класу. Завантаження моделі з контролера відбувається за допомогою команди:
$this->load->model ('Testmodel') ; де Testmodel – назва класу моделі.
<? php
class Testmodel extends CI_Model {
 
function__construct ()
{
// Call the Model constructor
parent: : __construct () ;
}
function get_data ($id)
{
$sql = «SELECT fieldl FROM tablel WHERE id =?»; $q = $this->db->query ($sql, array (id)) ;
$row = $q->row () ;
return $row->field1;
}
}
 
Рисунок 2. 4. Приклад коду файлу моделі проекту
В подальшому виклик методів класу моделі відбувається наступним чином:
$this->Testmodel->get_data (10) ;, тобто модель стає об‘єктом базового класу CodeIgniter. Для автоматичного завантаження моделі при старті проекту необхідно у конфігураційному файлі /application/config/autoload. php вписати назву моделі в відповідний масив:
$autoload['model'] = array („testmodel‟) ;
Подання
Подання у CodeIgniter – це повна HTML-сторінка або її фрагмент (наприклад: заголовок, меню, основний вміст, нижня частина). Основне призначення подання – відділити логіку отримання даних від візуального вигляду. Як правило, подання містить мінімум PHP-коду: лише той, що призначено для виведення даних (echo, print тощо). Крім того, допустимим є використання циклів PHP (for, foreach тощо) для виведення даних, що мають вигляд списків, дерев та інших складних структур.
Практичне застосування контролера, моделі та подання наведено нижче.
 
2.2. Асинхронний обмін даними засобами Ajax
 
Ajax (асинхронний Javascript) – це підхід до створення інтерактивних Web-додатків, згідно з яким обмін даними між Web-браузером та Web-сервером відбувається у фоновому режимі, що надає можливості оновлювати лише частину Web-сторінки. Такий підхід зменшує мережний трафік та дозволяє будувати додатки, наближені до «віконних», які є більш звичними для користувача. Головним чином підхід базується на використанні засобів мови JavaScript. При цьому з серверного боку жодних змін виконувати не потрібно у порівнянні з традиційним підходом. На клієнті за Ajax відповідає об‘єкт Javascript XMLHttpRequest. Передача даних за допомогою цього об‘єкта може відбуватись як у синхронному, так і у асинхронному режимі. Складність безпосереднього використання цього об‘єкта зумовлена неповною сумісністю реалізації різними браузерами. Тому, як правило, використовують крос-платформні бібліотеки, які уніфікують доступ до даного об‘єкта. Однією з таких бібліотек є JQuery. Серед її особливостей можна відзначити широкий спектр можливостей щодо пошуку та модифікації елементів Web-сторінки із застосуванням синтаксису мов XPath та CSS, наявність засобів управління подіями елементів сторінки, візуальні ефекти тощо. З огляду на задачі Ajax JQuery пропонує наступні можливості:
1. Завантаження даних з сервера безпосередньо у елемент сторінки (наприклад, у параграф).
2. Завантаження та виконання програмного коду мовою Javascript.
3. Завантаження даних із сервера у форматі JSON, що спрощує перетворення даних у об‘єкти Javascript.
4. Відправлення даних на сервер.
5. Обробка помилок, що виникли при передачі даних.
6. Серіалізація даних HTML-форми для подальшої передачі на сервер.
 
3.
Фото Капча