Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 731 Методичні рекомендації для організації лабораторних, самостійних та індивідуальних робіт з курсу Web-програмування, НУДПСУ, Національний університет державної податкової служби України

Методичні рекомендації для організації лабораторних, самостійних та індивідуальних робіт з курсу Web-програмування, НУДПСУ

« Назад

ДЕРЖАВНА ПОДАТКОВА СЛУЖБА УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ДЕРЖАВНОЇ ПОДАТКОВОЇ СЛУЖБИ УКРАЇНИ

Кафедра економічної кібернетики

Затверджую

 

 

Проректор з навчальної та методичної роботи

______________________М. М. Касьяненко

 

________ _____________ 2012 рік

 

МЕТОДИЧНІ РЕКОМЕНДАЦІЇ

для організації лабораторних, самостійних

та індивідуальних робіт

з курсу «Web-програмування»

для підготовки бакалаврів

в галузі знань 0305 «Економіка і підприємництво»

за напрямом підготовки 6.030502 «Економічна кібернетика»,

денної форми навчання

статус дисципліни: за вибором

Ірпінь – 2012

Робоча навчальна програма дисципліни «Web - програмування» складена на основі навчального плану для підготовки бакалаврів в галузі знань 0305 «Економіка і підприємництво»за напрямом підготовки: 6.030502 «Економічна кібернетика», денної  форми навчання , затвердженого в 2010 році.

 

ЗМІСТ

Погоджено

ПОЯСНЮВАЛЬНА ЗАПИСКА

СТРУКТУРА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

ТЕОРЕТИЧНІ ВІДОМОСТІ

ЛАБОРАТОРНІ РОБОТИ

САМОСТІЙНА РОБОТА

ІНДИВІДУАЛЬНА РОБОТА

КОНТРОЛЬНІ ПИТАННЯ З КУРСУ

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

ПОЯСНЮВАЛЬНА ЗАПИСКА

Дисципліна  «Web - програмування» – відноситься до дисциплін вибіркового блоку підготовки в  галузі знань 0305 «Економіка і підприємництво» за напрямом підготовки: 6.030502 «Економічна кібернетика»». Значення цієї дисципліни  у загальноосвітній підготовці визначається насамперед тим, що завдяки їй отримуються спеціальні знання та навички, які потрібні майбутнім фахівцям, здійснюючим впровадження та підтримку  інформаційних систем на основі Web – технологій в організації.

Дисципліна  призначена для оволодіння майбутніми бакалаврами спеціальності «Економічна кібернетика» основами знань у галузі Web – технологій, пов’язаних з фаховою діяльністю.

У результаті вивчення дисципліни студент повинен одержати фундаментальні теоретичні знання у галузі Web – технологій і закріпи їх на практичних заняттях.

Програма дисципліни охоплює достатній обсяг матеріалу, який дозволяє підготувати бакалаврів належного рівня. Вона складена згідно з вимогами «Положення про програму дисципліни» і є нормативним документом, який визначає мету і завдання дисципліни, її місце  серед дисциплін професійної підготовки.

Мета дисципліни полягає в ознайомленні студентів з основними способами побудови інформаційних систем на основі Web – технологій.

Завдання дисципліни полягає у тому, щоб навчити студента  застосовувати на практиці основні принципи проектування та побудови Web – систем, а також  орієнтуватися в питаннях практичного використання  інформаційних систем на основі Web – технологій.

Актуальність дисципліни полягає в тому, що нині, в епоху Інтернету, для більш ефективного обміну інформацією   необхідно вміти застосовувати на практиці інформаційні системи на основі Web – технологій.

Методичні рекомендації до організації самостійної та індивідуально – консультативної роботиз курсу "Web - програмування" розроблені для підготовки бакалаврів в галузі знань 0305 «Економіка та підприємництво» за напрямом підготовки: 6.030502 “Економічна кібернентика” відповідно до вимог Міністерства освіти і науки України, державного стандарту України щодо концептуальної схеми інформаційних систем та інформаційних технологій.

Вони передбачають, зокрема, виконання студентами системи самостійних та індивідуальних робіт і набуття знань та умінь.       

Студенти повинні знати:

  • Основні поняття та визначення щодо Web.

  • Загальні принципи проектування Web- систем.

  • Найбільш поширені теги.

  • Стандартний зміст Web - сторінки.

  • Стандартну послідовність тегів для всіх текстів Web- сторінок.

  • Теги, які використовуються для форматування тексту.

  • Редактори для полегшення роботи з HTML.

  • Особливості мови РНР.

  • Принципи функціонування мови РНР.

  • Вимоги та варіанти настройки Web – оточення.

  • Переваги та недоліки використання готового Web – оточення.

  • Переваги та недоліки використання власного Web – оточення.

  • Рекомендації щодо вибору методу встановлення модуля РНР в системе Windows.

  • Значення версії PHP CLI.

  • Що треба зробити, щоб використовувати РНР для вирішення задач, не пов’язаних з Web.

  • Версію РНР для командного рядка — РНР CLI.

  • Інтегровані середовища розробки для Windows.

  • Оператори мови РНР та їх написання.

  • Технологію написання сценаріїв.

  • Різницю в написанні сценарію на HTML та на РНР.

  • Змінні та їх імена.

  • Константи та їх створення.

  • Ключові слова РНР.

  • Правила використання вбудованих констант.

  • Типи даних та їх зв’язок зі змінною.

Студенти повинні вміти:

  • Оформляти текст Web – сторінки.

  • Зберігати створену Web – сторінки.

  • Створювати таблиці.

  • Створювати фрейми.

  • Створювати коментарі та  виділяти їх за допомогою тегів.

  • Використовувати РНР як для розробки Web-вузлів, так і для створення сценаріїв загального призначення.

  • Створювати  сценарії  з константами та змінними.

  • Налаштовувати власне  Web – оточення.

  • Тестувати РНР.

  • Налаштовувати Web-сервер Apache.

  • Використовувати спеціальні засоби створення РНР- сценаріїв.

Дані методичні рекомендації призначені для закріплення, систематизації і поглиблення теоретичних знань у студентів.

Мета і завдання методичних рекомендацій- виконання самостійної роботи та індивідуальних завдань з дисципліни "Web - програмування"

  1. формування у студентів необхідних теоретичних знань і практичних навичок;

  2. ознайомлення студентів з практикою застосування новітніх інформаційних технологій для створення Web-сайтів;

Самостійна робота студентів сприяє закріпленню набутих знань та практичних навичок. До складу методичних рекомендацій входять рекомендації щодо самостійної роботи студентів, список рекомендованої літератури.

Індивідуальні заняття проводяться з студентами з метою підвищення рівня їх підготовки та розкриття індивідуальних творчих здібностей. Індивідуальні завдання видаються студентам у терміни, передбачені навчальним робочим планом. Індивідуальні завдання виконуються студентом самостійно з консультацією викладача.

Допускаються випадки виконання комплексної тематики кількома студентами. У такому разі кожен студент самостійно оформляє і захищає свою частину розробки комплексної теми. Його робота повинна мати всі складові й ознаки, які регламентуються вимогами до даного індивідуального завдання.


СТРУКТУРА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

«WEB-програмування»

За напрямом підготовки 0305 «Економіка і підприємництво»

спеціальність  6.030502 «Економічна кібернетика»

№ п/п

Змістовні модулі

Кількість годин

Всього

Лекції

 Практичні

Лабораторні

Індивідуальні заняття

СРС

Модуль 1 = 1 заліковий кредит

ЗМ 1 (ТЕМИ 1–4) Мова гіпертекстової розмітки HTML

Т.1

  Основні поняття та визначення. Загальні принципи проектування Web- систем.

2

2

 

 

 

 

Т.2

 Подання інформації в мережі Інтернет.

18

2

 

2

 

14

Т.3

Теги, які використовуються в мові гіпертекстової розмітки HTML.

36

2

 

4

 

30

Т.4

Динамічний HTML.

16

2

 

2

 

12

Усього по заліковому кредиту (годин)

72

8

 

8

 

56

Контрольна робота за рахунок лабораторних занять, 2 год.

Усього по модулю (годин)

72

8

 

8

 

56

Формування сумарної оцінки по 1- му модулю

Модуль 2 = 2 залікових кредити

                           ЗМ 2 (ТЕМИ 5-7) Знайомство з мовою сценаріїв РНР

Т.5

Знайомство з мовою РНР.

   4

2

 

2

 

 

Т.6

Настройка програмного оточення для використання мови РНР.

14

2

 

6

 

6

Т.7

Настройка РНР для написання сценаріїв загального призначення

18

2

 

2

2

12

Усього по заліковому кредиту (годин)

36

6

 

10

2

18

Контрольна робота за рахунок лабораторних занять, 2 год.

ЗМ 3 (ТЕМИ 8–11) Змінні й дані в сценаріях РНР

Т.8

 Створення сценарію РНР.

14

4

 

6

4

 

Т.9

Змінні в сценаріях РНР.

7

2

 

2

 

3

Т.10

Використання констант в сценаріях РНР.

7

2

 

2

 

3

Т.11

Робота з даними.

8

2

 

2

 

4

Усього по заліковому кредиту (годин)

36

10

 

12

4

10

Контрольна робота за рахунок практичних занять, 2 год.

Усього по модулю (годин)

72

16

 

22

6

28

Формування сумарної оцінки по 2-му модулю

Разом годин з курсу

144

24

 

30

6

84

 «WEB-програмування»

За напрямом підготовки 0305 «Економіка і підприємництво»

спеціальність  6.030502 «Економічна кібернетика»

№ п/п

Змістовні модулі

Кількість годин

Всього

Лекції

 Практичні

Лабораторні

Індивідуальні заняття

СРС

Модуль 1 = 1 заліковий кредит

ЗМ 1 (ТЕМИ 1–4) Мова гіпертекстової розмітки HTML

Т.1

Основні поняття та визначення. Загальні принципи проектування Web- систем.

2

2

 

 

 

 

Т.2

Подання інформації в мережі Інтернет.

18

2

 

2

 

14

Т.3

Теги, які використовуються в мові гіпертекстової розмітки HTML.

36

2

 

4

 

30

Т.4

Динамічний HTML.

16

2

 

2

 

12

Усього по заліковому кредиту (годин)

72

8

 

8

 

56

Контрольна робота за рахунок лабораторних занять, 2 год.

Усього по модулю (годин)

72

8

 

8

 

56

Формування сумарної оцінки по 1- му модулю

Модуль 2 = 2 залікових кредити

                           ЗМ 2 (ТЕМИ 5-7) Знайомство з мовою сценаріїв РНР

Т.5

Знайомство з мовою РНР.

   3

1

 

2

 

 

Т.6

Настройка програмного оточення для використання мови РНР.

14

1

 

6

 

6

Т.7

Настройка РНР для написання сценаріїв загального призначення

18

2

 

2

7

9

Усього по заліковому кредиту (годин)

36

4

 

10

7

15

Контрольна робота за рахунок лабораторних занять, 2 год.

ЗМ 3 (ТЕМИ 8–11) Змінні й дані в сценаріях РНР

Т.8

 Створення сценарію РНР.

11

1

 

6

4

 

Т.9

Змінні в сценаріях РНР.

8

1

 

2

 

5

Т.10

Використання констант в сценаріях РНР.

10

1

 

4

 

5

Т.11

Робота з даними.

7

1

 

2

 

4

Усього по заліковому кредиту (годин)

36

4

 

14

4

14

Контрольна робота за рахунок практичних занять, 2 год.

Усього по модулю (годин)

72

8

 

24

11

29

Формування сумарної оцінки по 2-му модулю

Разом годин з курсу

144

16

 

32

11

85

ТЕОРЕТИЧНІ ВІДОМОСТІ

Основні поняття та визначення. Загальні принципи проектування Web- систем

Основні поняття та визначення

Web-система – складний програмний продукт, що складається із стандартних шаблонів (ескізи, HTML- сторінки і т.д), програмних модулів різного призначення (підписка на розсилку, архів і так далі), інтерактивних елементів, що працюють з сервером ( анкети, гостьові книги, бази даних, і так далі), ol-line застосувань (чат, форум і так далі), баз даних.

Web-дизайн – розробка стилю web-системи: ескізи, графічні заставки, «ікони», кнопки, схеми, графіки, колажі, анімація (рухомі зображення), Flash-ролики. Останнім часом поняття web-дизайн все частіше застосовується в Інтернет в значенні «Розробка web-системи в цілому».

Текстова HTML - сторінка (1: 4) – вигляд, в якому з використанням гіпертекстової розмітки представлена інформація в Інтернет. Як відомо, будь-яка інформація, перш, ніж зможе бути виставлена в Інтернет, повинна бути перетворена в спеціальний стандарт, що сприймається сервером.

Скрипти – спеціальні програми, призначені для обробки заданої інформації і подальшої взаємодії з браузером з метою виведення отриманого результату користувачеві.

Банер – рекламна плашка стандартного розміру і об'єму, призначена для запуску в банерообмінні мережі або розміщення локально на web-системі.     

Банерообмінні мережі – спеціально розроблені системи в Інтернет, призначені для збору і показу банерів в спеціально відведених стандартних віконцях на web-сайтах. Кликнувши на банер, клієнт потрапляє на сайт, якому цей банер належить і на який від нього веде посилання.

Інтерактивні елементи – спеціально розроблені програмні продукти, що дозволяють web-системі обмінюватися інформацією з сервером і відвідувачами сайту. До інтерактивних елементів відносяться анкета-опитувальник, гостьова книга, лічильник, форма реєстрації, форма замовлення через інтернет.

On-line-додатки – спеціальні програмні продукти, призначені для роботи з відвідувачем web-системи і сервером в реальному режимі часу. Прикладом таких застосувань є чат і форум.

База даних – спеціальний програмний продукт, призначений для збору, зберігання і обробки інформації

Загальні принципи проектування Web-систем

Ви вирішили створити і розмістити в інформаційному просторі WWW (World Wide Web, Усесвітня павутина) власний Web-вузол. Які ж кроки треба зробити, щоб він був цікавий, корисний і, що важливо, відвідуваний.

Необхідна початкова інформація

Перше питання, на яке необхідно дати чітку відповідь: з якою метою створюється Web-вузел? Від цього залежить багато що: стиль оформлення, необхідні для створення і подальшого функціонування витрати, формат представлення інформації для розміщення в Web, інструментарій і вимоги, що пред'являються до програмного забезпечення Web-сервера і каналів зв'язку з Internet.

Для того, щоб правильно відповісти на поставлені питання, необхідно сформувати категорії користувачів, на яких розрахований Web-узел. Виходячи з їх психології, повинна будуватися інформаційна структура, яка привертатиме і утримуватиме клієнтів. Надалі всі питання про доцільність яких-небудь дій, пов'язаних з Web- вузлом, повинні розглядатися відповідно до того, як відреагують на них відвідувачі, і наскільки вони сприятимуть досягненню головної мети.

Після того, як сформульовані цілі і визначені категорії користувачів, необхідно розподілити підготовлену інформацію по Web-документам, продумати зв'язку між ними і передбачити додаткові навігаційні можливості, наприклад, пошукову систему по вмісту Web- вузла.

Можливі варіанти створення Web-вузлов

Перший варіант - якщо ви створюєте Web-вузел для компанії, що реалізовує якийсь товар, то основною метою може бути розповсюдження інформації про фірму і реклама продукції, а також організація Web-магазина. При цьому будуть вирішені наступні завдання:

  • зміна іміджу і підняття престижу компанії;

  • просування торгової марки;

  • доступність інформації про продукцію і ціни для клієнтів;

  • підтримка ділерської мережі, доступність інформації про продукцію і ціни для ділерів;

  • прямий продаж продукції в Internet, організація Web-магазина;

  • доступність внутрішньої інформації для співробітників, що працюють поза офісом.

Другий варіант створення Web-вузла наукової або загальноосвітньої організації, не комерцією, що займається, в Internet, а що поширює інформацію. В цьому випадку мова піде про збір, переробку і розміщення на Web-узле великих масивів даних з організацією пошуку і доступу до них.

Третій  варіантколи ви вважаєте за необхідне розмістити в Internet свою особисту сторінку.

Типова структура Web-вузла фірми

Типова структура зазвичай представлена так:

Інформація про компанію. Слід розповісти про цілі і ділову зовнішність фірми, її історії і так далі Покажіть, яку вигоду отримають клієнти від співпраці саме з вами, а не з іншими компаніями.

Інформація про продукцію і послуги. Розмістите на Web-странице фотографії або малюнки своєї продукції. Опишіть її властивості і переваги, приведіть приклади використання. Якщо є паперовий каталог продукції, то можна перенести його структуру і зміст в Web- вузол. Це полегшить створення і подальше оновлення електронного варіанту каталогу. Якщо планується прийом замовлень на продукцію або послуги через Internet, то потрібно розмістити тут бланк замовлення, яке поступатиме по електронній пошті.

Інформаційна підтримка. У цьому розділі публікується додаткова технічна інформація, питання, що часто ставляться, раді з усунення несправностей і тому подібне

Новини. Проінформуйте клієнтів про нові товари і послуги, що надаються фірмою, опублікуйте прес-релізи і тому подібне

Зворотний зв'язок. Повідомите, як з вами можна зв'язатися, де ви знаходитеся. Помістите форму для відгуку, гостьову книгу, адреси електронної пошти, на які клієнт може відправити запит, і тому подібне

Два принципи при наповненні Web-вузла

При наповненні Web-вузла завжди потрібно пам'ятати два принципи: унікальність і достовірність публікованих матеріалів.

Унікальністьє першочерговою вимогою до змісту. У WWW вже може існувати немало сторінок з схожими матеріалами. Ваш Web-вузол повинен чимось відрізнятися від серверів з аналогічною тематикою, хоч би для того, щоб привернути до себе увагу. Наявність унікальних матеріалів на вашій сторінці збільшить її відвідуваність. Для того, щоб створити унікальний інформаційний ресурс, не обов'язково винаходити щось принципово нове, можна по-іншому оформити вже існуючі ресурси, але при цьому не примушувати клієнта витрачати багато часу на їх пошук. Перевірити ж ресурси на унікальність можна за допомогою пошукових серверів. Що стосується авторитетності, то все залежить від того, наскільки ретельно ви підберете інформацію, перевірите її і своєчасно оновлюватимете.

При створенні Web- вузла необхідно пам'ятати, що складові його окремі документи повинні бути об'єднані загальним стилем оформлення і засобами навігації. Єдиний стиль оформлення — один з показників, що відрізняють професійний Web- вузол від любительського. Завдяки одноманітно зробленим документам користувачі відрізнятимуть ваш Web - вузол від інших і запам'ятають його. Це не означає, що документи повинні бути схожі один на одного як дві краплі води, але загальна ідея, єдиний стиль, повинні бути присутніми неодмінно.

То ж відноситься і до засобів навігації по сторінках. Не варто розраховувати, що відвідувач знає структуру Web-вузла так само добре, як ви. Він повинен без зусиль розуміти, де він знаходиться зараз і як можна потрапити в будь-яке інше місце. Необхідно передбачити можливість переходу до першого документа, програмі пошуку або до схеми Web-вузла.

Крім того, єдність стилю дозволяє використовувати шаблони — сторінки, загальні елементи оформлення і навігації, що містять тільки (без інформаційного наповнення). З їх допомогою можна швидко і ефективно створювати нові сторінки і розподіляти роботу з їх створення між декількома людьми. При використанні шаблону для отримання готової сторінки досить лише внести до нього необхідну інформацію. Послідовність, логічність, постійність — ось необхідні якості гарного Web-вузла.

Після того, як визначені цілі, задана структура і зібрана текстова і графічна інформація, необхідно розробити зовнішній вигляд Web-вузла. Він також залежить від тих цілей, які необхідно досягти. Спектр можливих рішень тут дуже широкий: від проглядання вже існуючих сторінок і створення подібних до звернення по допомогу до професійних дизайнерів і художників. В той же час, необхідно пам'ятати про деякі правила, що вже склалися, побудови Web-документов, з яких складається Web-узел.

Стандартні правила, що враховуються при створенні Web-вузла

*Структура. На сьогодні уявлення про структуру документа достатньо устоялося. Web -документ повинен містити в собі наступні розділи: заголовок, назву компанії, навігаційну панель, власне зміст, контактну інформацію, дату і час оновлення, авторські права і статус документа.

*Логотип. Створюючи Web-страницу, необхідно поклопотатися про те, щоб назва фірми була завжди присутня на екрані. Для цього на початку кожного Web- документа зазвичай поміщається барвисто оформлений логотип фірми. Крім того, назва компанії повинна бути присутньою і у вихідних даних до всіх документів.

Навігаційна панель. Одним з найбільш важливих розділів Web-документа є навігаційна панель або панель управління. WWW завоювала весь світ багато в чому завдяки тому, що гіпертекстові посилання забезпечують повну зв'язність публікованих матеріалів. Але ці ж посилання таять в собі небезпеку занурення в повний хаос, коли, пройшовши ланцюжок з трьох-чотирьох документів, ви вже не зможете повернутися назад, заплутавшись у великій кількості посилань. Ваш Web - вузол повинен забезпечувати користувачеві ясні і інтуїтивно зрозумілі навігаційні маршрути.

Численні дослідження показали, що відвідувачі Web-серверов дуже нетерплячі і далі, чим на два рівні документів, заглиблюватися в зміст сервера не хочуть. Тому, створюючи Web- вузол великого об'єму, слід передбачити проміжні документи, що зазвичай знаходяться на першому-другому рівнях, від яких будь-яка інформація знаходиться не далі, чим в двох переходах.

Навігаційна панель вашого Web-вузла повинна бути присутньою в кожному документі. В першу чергу, вона повинна включати направляючі посилання типу "Вперед"-"назад" ("Наступний"-"Попередній"), вказуючи на сусідні документи в структурі Web-вузла. Далі від панелі управління обов'язково повинні йти посилання на всі крупні розділи Web- вузла — так звані розділи першого рівня. І, нарешті, користувач завжди повинен мати можливість миттєво повернутися на головну сторінку Web-вузла. Крім посилань слід вказати шлях до локальної пошукової системи і індексу.

*Зміст. Перш за все, слід зазначити, що зміст Web- документів повинен повною мірою відповідати всім вимогам, що пред'являються до звичайних газетних або журнальних публікацій: граматична і орфографічна коректність, точність і достовірність пропонованих матеріалів і багато що інше. Крім того, з'являється цілий ряд специфічних вимог, яким повинен задовольняти Web- документ.

Часто виникає питання про розміри документа: яке число сторінок є оптимальним? Відповідь на перший погляд може показатися дивним: одна екранна сторінка або взагалі ніяких обмежень. Численні дослідження показали, що користувачі не люблять працювати із смугами прокрутки браузеров. Більше всього їм подобаються документи, які розміщуються на одній екранній сторінці. Так і в WWW — ви жодним чином не зможете дати користувачеві більше інформації, чим в концентрованому викладі на одній сторінці. Якщо все-таки ви не укладаєтеся в ці рамки, створіть ще один документ.

Одна екранна сторінка виявилася відповідною мірою представлення інформації. Якщо розмір документа перевищує одну сторінку, то в більшості випадків він може бути поділений на декілька логічних частин, кожна з яких займатиме не більш за одну сторінку. Якщо ж логічного ділення інформації провести не вдається, то необхідно переробити стиль викладу, а може бути, і самі матеріали. Зараз виробилася єдина думка, що Web-сервер необхідно будувати на основі одноекранних документів. Є тільки два виключення з цього правила. Воно не розповсюджується на статті, що публікуються в WWW, і друге виключення — анкетні форми, які, природно, не можна розривати.

*Графіка. При розробці Web-страницы потрібно дуже уважно вибирати оптимальне співвідношення графічних і текстових матеріалів. Одна хороша картинка може замінити тисячу рядків тексту, але і завантажуватися по мережі вона буде в тисячу разів довше. Тому графікою потрібно користуватися обережно. Можна виходити з того, що графіки на сторінці повинно бути трохи менше, ніж хочеться Web-мастеру.      Користувачам може просто не вистачити терпіння, і вони закриють документ ще до того, як він повністю завантажиться. Затримка відгуку системи викликає у користувача роздратування. Всі розуміють, як важко зараз йдуть справи з канальною інфраструктурою в Internet. Тому час затримки зростає залежно від часу доби, по різних оцінках до 15-60 секунд. Тепер уявіть, що у клієнта тільки модем на 19200 бит/с. Більшого на російських телефонних лініях досягти дуже важко. Тоді за хвилину, тобто до того, як клієнт втратить терпіння, можна передати тільки близько 170 Кбайт даних. Отже, розмір документа не повинен перевищувати цього значення.

Слід зазначити, що зазвичай панель управління, логотип і назва фірми виконуються у вигляді графічних елементів. Після створення макету можна приступити до його реалізації за допомогою мови, наприклад,  HTML і інших засобів, пропонованих сучасними технологіями WWW.

Завершивши створення Web-вузла, необхідно розмістити його в Internet. Тут можливі два варіанти: перший — використовувати комп'ютер, який разом з Web-сервером і Web-вузлом знаходиться у вашому офісі і підключається до Internet по виділеній або комутованій лінії; другий — скористатися для розміщення Web-вузла послугами спеціальних організацій.

Розглянемо другий варіант. Правильний вибір провайдера, що надає доступ до Web-странице, дозволить вашим клієнтам з максимальною зручністю отримувати необхідну інформацію. Крім того, підтримка Web-сервером спеціальних можливостей значно полегшить розробку Web-вузла.

На що слід звернути увагу при виборі провайдера, що розміщує ваш Web-узел на своєму сервері?

*Пропускна спроможність каналів. Щоб вашим відвідувачам не довелося дуже довго чекати завантаження сторінок, провайдер повинен володіти надійним високошвидкісним з'єднанням порядка 1-2 Мбіт в секунду.

*Підтримка сервером провайдера SSI (Server Side Includes, вставки на стороні сервера). Використання SSI дозволяє Web-серверу вставляти невеликі об'єми динамічних даних безпосередньо в той, що пересилається користувачеві HTML-документ. За допомогою SSI можна включати один файл до складу іншого, виконувати CGI- сценарії і передавати іншу інформацію. Необхідно уточнити, які саме функції SSI підтримуються на сервері провайдера.

*Підтримка сервером провайдера CGI - сценаріїв. CGI (Common Gateway Interface, загальний шлюзовий інтерфейс) — специфікація, що дозволяє Web-серверу виконувати довільні прикладні програми. В результаті роботи таких програм (сценаріїв, або "скриптів") створюються HTML-документи. За допомогою CGI- сценаріїв можуть прийматися дані від користувача, вони дозволяють організувати діалог на Web-сторінках, запити до баз даних і так далі.  Створити CGI - сценарій можна за допомогою будь-якої популярної мови програмування: Perl, Basic, C, C++, Pascal і тому подібне

*Підтримка тієї, що моментальної перекодувала. На жаль, для російської мови в Internet при роботі на різних платформах (Windows, Mac, Unix і так далі) прийняті різні кодування. Щоб користувачеві було легко проглядати сторінки, Web-сервер провайдера повинен уміти автоматично перекодувати документи залежно від запиту, що поступив. Інакше або зміст вашого Web-вузла для деяких відвідувачів буде нечитаним, або доведеться забезпечувати декілька копій Web-вузла — по одній на кожне підтримуване кодування.

*Спосіб оновлення сторінок. Зазвичай сторінки оновлюються по протоколу FTP (File Transfer Protocol, протокол передачі файлів). Деякі FTP-клієнти дозволяють працювати з файлами на комп'ютері провайдера так само, як з власним диском, — копіювати, видаляти, перейменовувати і тому подібне

Як правило, можливість розміщення Web-вузла провайдер надає своїм користувачам за невелику плату або безкоштовно.

Існують служби, які надають місце під Web-вузли безкоштовно разом з адресою електронної пошти і іншими послугами. Як правило, умовою такого "безкоштовного" розміщення є виділення на ваших сторінках деякого місця під рекламу. Крім того, накладаються обмеження на розмір ваших файлів.

Подання інформації в мережі Інтернет

Код для Web-сторінок

За допомогою будь-якого текстового процесору розробляється документ, який містить в собі все, що ви бажаєте розповісти на своєї сторінці.

Щоб створити Web- сторінку, необхідно скористатися кодом, який називається мовою розмітки гіпертексту HTML (Hyper Text Mark Up Language). Він описує команди, які вставляються в текстовий документ та перетворюють його в Web- сторінку.

Коди HTML указують браузеру, як відображати інформацію Web- сторінки.

При огляді сторінки ці команди не відображаються.

Код HTML для конкретної сторінки називається вихідним текстом.

Щоб побачити вихідний текст будь-якої Web- сторінки в браузері необхідно в меню Вид вибрати команду Вихідний текст. Після цього ви побачите набір якихось символів та слів, написаних англійською мовою.

Теги

Команди HTML  називаються тегами.

Теги бувають як правило парними: відкриваючому тегу відповідає закриваючий.

Відкриваючий тег знаходиться перед текстом, на який повинна діяти команда, а закриваючий – після нього.

Наприклад,  <B> Національний університет</B>

Теги завжди оточені символами <>. Закриваючий тег обов”язково має символ косої риси.

Всі тексти Web- сторінок починаються з однакової послідовності тегів.

Наприклад:

<HTML>

<HEAD>

<TITLE> Національний університет </TITLE>

</HEAD>

Заголовок сторінки не відображається на самої Web- сторінці, але він з’являється в рядку заголовка браузера.

Існують також непарні теги.

Так, тег <BR> дає команду браузеру почати нову сторінку, а тег <Р>- почати новий абзац. Щоб дати команду браузеру намалювати пряму лінію, треба ввести тег <НR>.

Зміст сторінки

Слова та малюнки, які з’являються всередині вікна браузера, називаються тілом сторінки.

Перед текстом треба ввести тег <BODY>, потім безпосередньо текст з будь-якими тегами, а в кінці треба поставити закриваючий тег  </BODY>.

Наприклад:

<HTML>

<HEAD>

<TITLE> Національний університет </TITLE>

</HEAD>

<BODY>

Національний університет державної податкової служби України був створений

  </BODY>

  </HTML>

В даному випадку лише текст буде відображатися на Web- сторінці

Оформлення тексту

Існують теги, які дозволяють форматувати текст, який вводиться.

Наприклад:

Теги   <B> Національний університет</B>, виділяють текст, який знаходиться всередині напівжирним шрифтом.

 Теги   <I> Національний університет</I>, виділяють текст, який знаходиться всередині курсивом.

Тег  <FONT SISE=7> УНІВЕРСИТЕТ</FONT > робить літери дуже великими, а <FONT SISE=1> університет</FONT > робить літери дуже маленькими.

Збереження створеної сторінки

В самому кінці тексту треба ввести тег   </HTML>, який укаже браузеру, що це кінець Web- сторінки.

Далі треба переконатися, що в полі Тип файлувибраний Текст, або Текстовий документ.

Потім дається ім’я файлу й додається розширення імені файлу - . htm.

Після цього браузер впізнає, що це Web- сторінка.

Теги, які використовуються в мові гіпертекстової розмітки HTML

Параграфи

Для формування параграфів використовуємо тег <р> і відповідний йому закриваючий тег </р> :

<html>

<body>

<р>Перший параграф.</р>

<р>Ще параграф.</р>

<р>Новий параграф.</р>

<р>Елемент параграфа описується за допомогою тега р.</р>

</body>

</html>

 

Розрив рядка

Розрив рядка задається за допомогою тега <br>

<html>

<body>

Для простого <br> перенесення <br>(розриву) <br> рядка використовується інший тег - <br> br.

</body>

</html>

 

Заголовки

Заголовки  шести рівнів  можна описати за допомогою тегів <h1>—<h6>:

 <html>

  <body>

  <Р>заголовки h1 - h6 використовуються для опису заголовків різних

рівнів  </р>

<h1>Заголовок першого рівня </h1>

<h2>Заголовок другого рівня </h2>

<h3>Заголовок третього рівня </hЗ>

<h4>3аголовок четвертого рівня </h4>

<h5>Заголовок п'ятого рівня </h5>

<h6>Заголовок шостого рівня </h6>

</body>

</html>

 

Завдання гіперпосилань

Один з важливих моментів — завдання гіперпосилань. Це робиться за

допомогою тега <а href='URL'>

<html>

<а href="http://www.yahoo.com/"> Це гіперпосилання. Клацни мене!</а>

</body>

</html>

 * На Web- сторінці буде:

Це гіперпосилання. Клацни мене!

Текстова область

Текстова   область   описується   із застосуванням   тега   <textarea> .

<html>

<body>

<p>

Приклад текстової області.

</р>

<textarea rows="10" cols = “30”>

Верхівки дерев були  в сонячних промінях.

</textarea>

</body>

</html>

* На Web- сторінці буде:

Приклад текстової області.

Верхівки дерев були  в сонячних промінях.

 

Таблиці

Таблиці   можна   описати   із застосуванням   тега   <table

<html>

<body>

<р>

Таблиця відкривається за допомогою тега table.

 Рядок таблиці відкривається тегом tr.

 Кожен осередок в рядку починається з тега td.

</р>

<h4>Один стовпець:</h4>

<table border="l">

<tr>

<td>1000</td>

</tr>

</table>

<h4>Один рядок і три стовпці: </h4>

<table border="l">

<tr>

<td>1000</td>

<td>2000</td>

<td>3000</td>

</tr>

</table>

* На Web- сторінці буде:

Таблиця відкривається за допомогою тега table. Рядок таблиці відкривається тегом tr. Кожен осередок в рядку починається з тега td.

Один стовпець:

1000

Один рядок і три стовпці:

1000

2000

3000

 

Фрейми

Фреймами є самостійні вікна у вікні браузера.

<html>

<f rameset  cols  ="25%,  50%,  25%">

 <frame src = "а.html">

 <frame src = "b.html">

 <frame src = "з.html">

 </frameset>

</html>

* На Web- сторінці буде:

Фрейм 1

Фрейм 2

Фрейм 3

 

DHTML: Динамічний HTML

Положення елемента на сторінці у вікні браузера

За допомогою динамічного HTML (або стисло DHTML) ми можемо пожвавити статичну HTML-сторінку, зробити її інтерактивними. При цьому сторіночка "відповідатиме" на дії користувача, вироблювані їм у  вікні браузера. Але при цьому слід пам'ятати, що результат  в значній мірі залежать від того,  в якому браузере є  видимим HTML- сторіночка. Бажано створювати такі сторіночки, які прийнятно відображатимуться в більшості браузерів.

Динамічний HTML заснований на можливості зміни властивостей об'єктів. Практично кожному елементу HTML відповідає об'єкт, який створюється в браузері при завантаженні HTML-сторінки. Кожен об'єкт має свої властивості і методи. Конкретна реалізація об'єктів залежить від типу і версії браузера, в який завантажений початковий Web-документ, тому можливості динамічного HTML в сильному ступені залежать від браузера. Доступ до властивостей і методів об'єктів здійснюється за допомогою мов сценаріїв. Для роботи  з об'єктами, що створюються в клієнтських застосуваннях-браузерах,  використовуються мови JavaScript і VBScript.

Крім сценаріїв динамічний HTML ґрунтується також на таблицях стилів CSS(Cascading Style Sheets — каскадні листи стилів)  і особливостях того або іншого браузера.

DHTML не є яким-небудь стандартом. Це якийсь (нефіксований раз і назавжди)   набір  засобів,   що дозволяє   зробити  клієнтський документ інтерактивним, живим  і динамічним. 

Як правило, набір програмних засобів, використовуваних в динамічному HTML, включає наступне:

- мова HTML 4.0;

- стилі CSS;

- об'єктну модель документа DOM;

- мови сценаріїв (JavaScript і/або VBScript).

Листи стилів CSS  використовуються для завдання способів відображення HTML-елементів.

За допомогою властивості листів стилів position можна задати відносне або абсолютне положення елементу на сторінці у вікні браузера.

Відносне положення position: relative

Властивість position: relative використовується для завдання положення елементу по відношенню до поточного його положення (яке було б, якби не було вказано властивість position: relative).

Приклад:

  h1

{

position: relative;

left: 10;

}

Даний приклад задає стиль відображення елементу h1, тобто елементу заголовка першого рівня, який описується за допомогою тега <hl>. Відмітимо, що в класичному HTML не має значення, які букви ми використовуємо — рядкові або великі. У прикладі встановлений зсув елементу вправо від первинного неформатованого положення на десять пикселов (лівий край зрушать на 10 пикселов).

Приклад файлу prel.html:

         <html>

           <head>

          <style>

         hl. example l

       {

          position: relative;

          left: 40;

        }

         hl. example 2

{

          position: relative;

          left: -20;

          }

           </style>

            </head>

             <body>

           <h1> Заголовок першого рівня </h1> 

          <h1 class= “example 1”> Заголовок першого рівня </h1>

           <h1 class= “example 2”> Заголовок першого рівня </h1>

           </body>

           </html>

Пояснення:

           «left 40» - додати 40 пикселов до положення лівої межі.

           «left -20» - відняти 20  пикселов положенню лівої межі.

 

Абсолютне положення position: absolute

Щоб   задати   абсолютне   положення   елементу,    використовуємо  властивість position: absolute.

h1

{

position: absolute;

left:10;

}

Приклад файлу pabs.html:

         <html>

           <head>

          <style>

         hl. x

       {

          position: absolute;

           left: 120;

           top: 150;

        }

         </style>

          </head>

            <body>

            <h1 class= “x”> Заголовок першого рівня </h1>

          </body>

            </html>

Що побачимо:

Заголовок зміщений на 120 пикселов управо і на 150 пикселов вниз.

Видимість елемента на сторінці у вікні браузера

Властивість visibility дозволяє вказати, буде даний елемент видимим чи ні. Допускається використання двох значень:

- visibility: visible;

- visibility: hidden.

Властивість visibility застосовується так:

h 1

{

visibility: visible;

}

або:

h1

{

visibility: hidden;

}

У прикладі (файл visibility.html) властивість видимості другого заголовка задана так, що він не буде видний на HTML-сторінці.

Приклад файлу visibility.html:

<html>

<head>

<style>

h l. l

{

visibility: visible;

}

h1.  2

{

visibility: hidden;

}

</style>

</head>

<body>

<hl>Перший заголовок</h1>

<hl>Другий заголовок</h1>

</body>

</html>

Що побачимо: другий заголовок прихований.

Обробка подій в DHTML

Завдяки існуванню об'єктної моделі документа розробник HTML-сторінок має можливість звертатися до властивостей і методів об'єктів, що створюються на основі отриманого браузером HTML-документа.        Щоб звернутися до елементу, можна вказати його ідентифікатор. Це універсальний підхід, який працює завжди, коли необхідно звернутися до того або іншого об'єкту. Перш ніж ми зможемо звернутися до об'єкту по імені, необхідно задати його ідентифікатор (або ім'я). Це можна зробити, якщо використовувати атрибут id, значення якого буде ім'ям (ідентифікатором) відповідного об'єкту. Наприклад:

<html>

<body>

<hl  id="nazvanie">3aголовок<, h.I>

<script type="text/javascript ">

header. style. color="red"

</script>

</body>

</html>

Якщо завантажити цей фрагмент коду в браузер, то буде створений об'єкт заголовка першого рівня, ідентифікатором якого стане nazvanie.  Скрипт, який розташований в цьому HTML-коді, приведе до того, що колір заголовка зміниться на червоний. Скрипт може бути корисний, якщо потрібно замінити малюнок іншим малюнком, наприклад:

<html>

<body>

<img id="image"  src="sl. gif" width="32" height="32"> <script type="text/javascript">

 image. src="s2.jpg"

</script>

</body>

</html>

В даному випадку початковий малюнок sl. gif  буде замінений на малюнок s2. gif. 

Мови сценаріїв надають механізм, за допомогою якого ми маємо можливість звертатися до різних об'єктів, що виникають при завантаженні сторінки в браузер.

Обробка подій — це процес виконання тихий або інших функцій після того як виникає певна подія. Існує перелік подій, причому набір подій може мінятися від одного об'єкту до іншого, тобто кожен об'єкт може володіти набором подій, відмінним від іншого об'єкту. З подією можна зв'язати ту або іншу функцію або блок функцій, причому при настанні події ця функція (або блок функцій) буде автоматичний виконана.

Приклад роботи з подіями

У даному прикладі елемент змінюватиме колір при приміщенні на нім покажчика миші  (подія onmouseover).

Після того, як курсор буде прибраний з елементу (подія onmouseout), колір елементу повертається до колишнього . Запишемо HTML-код  у файл onmouse.html.

Файл onmouse.html:

<html>

<body>

<hl onmouseover ="style. Color = ' yellow ' "

оnmouseout ="style.color='black'">

Розмістіть мишку на тексті </h1>

</body>

</html>

Знайомство з мовою РНР

Особливості мови РНР

РНР є широко використовуваною відкритою універсальною мовою розробки сценаріїв. Спочатку він був створений для розробки Web-вузлів. Створений Расмусом Лердофом (Rasmus Lerdof), PHP фактично використовувався як засіб для створення користувачами своїх Web-сторінок (Personal Home Page — персональні домашні сторінки). Проте РНР виявився настільки корисним і популярним, що швидко став повноцінною мовою програмування.

При цьому він придбав нову назву — Hypertext Preprocessing, — яка відображає його розширені можливості по попередній обробці Web-сторінок перед їх відображенням.

РНР придбав велику популярність завдяки наступним перевагам:

- Швидкодія Web-вузлів. Оскільки код РНР вбудовується в HTML-сторінку, то час, необхідний для обробки і завантаження Web-сторінки, невеликий.

- Відкритість. РНР є доказом того, що безкоштовні обіди все ж таки існують, і ви можете отримати більше того, за що платите.

- Простота використання. Синтаксис РНР достатньо простий для розуміння і використання навіть для непрограмістів. При цьому РНР розроблений так, щоб бути легко вбудовуваним в HTML-сторінки.

- Універсальність. PHP можна використовувати під управлінням різних операційних систем, включаючи Windows, Linux, Mac OS і більшість систем сімейства Unix.

- Багатобічна технічна підтримка. Ви можете відвідати офіційний Web-вузол РНР (www.php.net), де пропонується великий перелік тем для обговорення, що покриває різні питання, такі як основи РHP, РНР під Windows або бази даних і РНР. До того ж перелік тем для обговорень можна знайти також за адресою news . php .net.

Безпека. Якщо ваш сценарій РНР розроблений правильно, то його програмний код користувачі побачити не зможуть.

- Настроюваність. Відкритість РНР дозволяє програмістам модифікувати програмне забезпечення, додавати або змінювати його функціональність, необхідну для вирішення конкретних завдань. РНР забезпечує достатній контроль над оточенням, дозволяючи зменшити вірогідність помилок.

Використання мови РНР

РНР є універсальним засобом розробки сценаріїв загального призначення. Сценаріями є комп'ютерні файли, які містять написані на мові РНР інструкції, що виконують певні дії, такі як вивід на екран рядка, наприклад, "Привіт" або збереження деякої інформації в базі даних. Більшість сценаріїв містять послідовності інструкцій, що дозволяють вирішувати завдання, починаючи від розробки Web-сторінок до навігації по файловій системі.   Оскільки РНР створювався для Wеb, то він володіє багатьма можливостями, які якраз і призначені для використання в сценаріях створення динамічних Web-сторінок. Можливо, в даний момент у вас виникнуть труднощі при використанні РНР для створення Web-сторінок, проте його застосування для інших цілей важко переоцінити.

РНР є дуже популярним засобом для розробки Web-вузлів. Згідно з інформацією, розміщеною на Web-вузлі РНР (www.php.net/usage.php), близько 11 мільйонів доменів використовують РНР. Навіть Web-вузол Yahoo!, який, ймовірно, є самим відвідуваним в світі, вирішив замінити свою власну мову створення сценаріїв на РНР.

Використання РНР для Web-додатків

З самого початку Web-сторінки були статичними, тобто вони були простими документами. Користувачі відвідували Web-вузли, щоб прочитати потрібну інформацію. При цьому документи були зв'язані між собою, так що користувач міг спокійно знайти інформацію, яку  шукав. Проте Web-сторінки залишалися незмінними. Кожен користувач, відвідуючий конкретну Web-сторінку, завжди бачив одне і те ж.

Згодом розробники Web-сторінок  захотіли взаємодіяти з відвідувачами, отримувати від них інформацію і настроювати Web-сторінки під конкретного користувача. При цьому було розроблено декілька мов, що дозволяють створювати динамічні Web-вузли.

РНР є серверною мовою (server-side language) для написання сценаріїв. Це означає, що сценарій виконується на сервері (комп'ютер, на якому встановлений Web-вузол). У цьому полягає відмінність від іншої популярної мови для створення динамічних Web-страниц — JavaScript. Сценарій, написаний на JavaScript, виконується клієнтським браузером. Таким чином, JavaScript— клієнтська мова (client-side language).

Оскільки сценарій РНР виконується на сервері, він дозволяє динамічно генерувати HTML-код Web-сторінки. Таким чином, кожен користувач може бачити "свою" Web-сторінку. При цьому відвідувач бачить результат виконання сценарію, а не його програмний код.

РНР надає ряд можливостей, спеціально призначених для розробки Web-вузлів:

Взаємодія з HTML-формами. РНР дозволяє відображати дані HTML-форм і обробляти інформацію, введену користувачем в браузері.

Взаємодія з базами даних. РНР дозволяє взаємодіяти з базами даних для зберігання інформації, введеної користувачем, або витягання інформації для її відображення.

Створення безпечних Web-сторінок. РНР дозволяє розробникам створювати безпечні Web-сторінки, що вимагають введення достовірних імені користувача і пароля перед виведенням вмісту Web-стрінки.

Як вже наголошувалося, РНР — серверна мова, яка не може взаємодіяти з користувачем безпосередньо. Це означає, що неможливо ініціювати які-небудь дії, ґрунтуючись на стан  комп'ютера користувача, наприклад, зреагувати на клацання кнопкою миші або зменшення розміру вікна. Іншими словами, за допомогою РНР неможливо створити такі популярні ефекти, як випадне або змінююче колір меню.

Використання РНР для взаємодії з базами даних

Істотною перевагою мови РНР є його можливості по взаємодії з базами даних. РНР підтримує практично всі можливі формати баз даних, про які вам коли-небудь доводилося чути. РНР встановлює з'єднання з базою даних і взаємодіє з нею. Ви указуєте ім'я бази даних і її місцеположення, а сценарій РНР сам виконує всі необхідні дії: встановлює з'єднання, виконує запит і повертає результат.

В даний час РНР підтримує більшість відомих форматів баз даних:

- dBASE;

- Informix;

- Ingres;

- Microsoft SQL Server;

- mSQL;

- MYSQL;

- Oracle;

- POSTGRESQL;

- Sybase

РНР підтримує також і інші формати баз даних.

РНР ідеально підходить для розробки Web-вузлів, призначених для взаємодії з базами даних. PHP-сценарій дозволяє зберігати і витягувати інформацію з будь-якої підтримуваної бази даних. Крім того, РНР може взаємодіяти з базами даних поза Web-оточення. Таким чином, робота з базами даних — одна з якнайкращих властивостей РНР.

Застосування РНР для взаємодії з файловою системою

РНР надає всі необхідні засоби для взаємодії з файловою системою: з папками і файлами, що знаходяться на локальному жорсткому диску або на комп'ютері, доступ до якого можливий через мережу. РНР дозволяє здійснювати запис у файл, прочитувати їх вміст і створювати нові файли. РНР також надає можливості по створенню папок, копіюванню, перейменуванню, видаленню або зміні атрибутів файлів, а також безліч інших різних операцій. Таким чином, мова РНР дозволяє виконувати практично всі можливі завдання, що відносяться до файлової системи.

Застосування РНР для запуску системних команд

Мова РНР надає необхідні засоби для взаємодії з операційною системою, дозволяючи виконувати системні команди і отримувати результати їх виконання. Наприклад, в сценарії РНР можна використовувати команду d i r або I s для отримання переліку файлів в папці.

Можливість взаємодії РНР з операційними системами є особливо корисною при вирішенні завдань системної підтримки і адміністрування. Наприклад, використовуючи системні команди в сценарії РНР, можна отримати список файлів в папці, вибрати, а потім видалити непотрібні файли з певним розширенням.

Можливість виконання системних команд дозволяє також запускати і інші програми в системі, тобто за допомогою сценаріїв РНР можна виконувати програми, написані на інших мовах, і використовувати результати їх виконання.

Таким чином, РНР дозволяє додати нову функціональність до системних засобів, не витрачаючи додаткового часу на переписування вже існуючих програм.

Принципи функціонування мови РНР

РНР є мовою програмування високого рівня. Це означає, що вона є дружнім для користувачів і подібною до англійської мови. Проте оскільки комп'ютер не розуміє англійська мова, то для взаємодії з ним можна використовувати РНР.

При цьому інтерпретатор РНР перетворить код сценарію в мову, що розуміється комп'ютером, який, у свою чергу, і забезпечує виконання всіх необхідних дій.

Інтерпретатор РНР поставляється в двох різних версіях. Перша з них призначена для роботи з Web-вузлами, а друга — для запуску сценаріїв з командного рядка незалежно від Web. При цьому ви можете встановити як обидві версії, так і одну з них.

РНР як універсальна мова. РНР для Web

Якщо РНР використовується як універсальна мова написання сценаріїв, необхідно встановити РНР CLI. Ця версія РНР якраз і була розроблена для цих цілей. При цьому доступ до інтерпретатора РНР здійснюється через командний рядок, з якого і походить запуск сценаріїв РНР.

Як працює World Wide Web

Буде корисним небагато розповісти про те, як працює "усесвітня павутина", або World Wide Web (WWW). Web є мережею комп'ютерів, на яких знаходяться Web-сторінки. Кількість таких Web-вузлів досягає мільйонів. Для того, щоб було легко знайти Web-вузол в усесвітній  павутині", йому привласнюється певна адреса, звана URL (Uniform Resource Locator — універсальний локатор ресурсів). URL Web-вузла складається з імен домена і файлу, наприклад, www.mycompany.com/

Якщо користувач хоче відвідати певну Web-сторінку, йому необхідно набрати потрібну URL-адресу в браузері. При цьому відбувається наступний процес:

1. Web-браузер посилає повідомлення в Web із запитом на отримання необхідної сторінки.

2. Повідомлення передається комп'ютеру, який знаходиться по URL-адресі, вказаній в запиті.

3. Web-сервер, встановлений на видаленому комп'ютері, отримує відправлене повідомлення.

4. Web-сервер відшукує необхідний HTML-файл, ім'я якого вказане в URL-адресі запиту.

5. Відшукавши запрошуваний файл, Web-сервер передає його назад браузеру (Якщо запрошуваного файлу не існує, Web-сервер посилає повідомлення про помилку.)

6. Web-браузер відображає на екрані HTML-код отриманої Web-сторінки.

РНР для Web

Якщо РНР використовується для створення Web-вузлів, він повинен використовуватися спільно з Web-сервером. Річ у тому, що ніякий Web-вузол не може існувати без Web-сервера.

Web-сервер є спеціальне програмне забезпечення, призначене для відображення Web-сторінки в "усесвітній павутині". Тому РНР не може не взаємодіяти з Web-сервером.

При розробці Web-вузлів РНР використовується як вбудована мова написання сценаріїв(embedded scripting language). Це означає, що для розміщення коду РНР в HTML-файлі використовуються спеціальні дескриптори HTML, тобто HTML-сторінки, що містять код РНР, можна створювати і редагувати таким же чином, як і звичайні сторінки.

Якщо модуль РНР встановлений на комп'ютері, то Web-сервер настроєний так, щоб обробляти вбудований PHP-код сторінок з певними розширеннями. Часто такими є сторінки з розширенням .php або .phtml, проте Web-сервер можна налаштувати для обробки файлів з будь-якими розширеннями. Отримавши запит на отримання файлу з певним розширенням, Web-сервер передає назад HTML-код без будь-яких змін. У свою чергу, PHP-код спочатку обробляється модулем РНР, а потім результати його інтерпретації також відправляються назад клієнтові.

При цьому результат обробки коду РНР повертається у форматі HTML, а сам код РНР у файл, що передається назад браузеру, не включається. Це істотно підвищує безпеку.

Крім того, вся обробка виконується непомітно для користувача. Розглянемо наступний приклад коду на РНР:

<?php echo "<р>3драстуй, світе"; ?>

У цьому виразі дескриптор <?php є таким, що відкриває, а ?>— що закриває.

Оператор echo дозволяє виводити текст, у тому числі і як HTML-код. Модуль РНР виконає обробку цього виразу і видасть наступний результат:

<р>3драстуй, світе

Отриманий рядок містить звичайний HTML-код, який і відсилається клієнтському браузеру.

Таким чином, очевидно, що РНР і Web-сервер функціонують спільно. Модуль PНP можна інтегрувати далеко не з кожним Web-сервером, а тільки з найбільш популярними з них. Оскільки РНР був розроблений в рамках одного з проектів Apache Software Foun iation, краще всього його використовувати разом з Web-сервером Apache. Проте модуль РНР можна використовувати і спільно з іншими Web-серверами.

Дещо про Web-сервери

Програмне забезпечення, яке забезпечує відправку Web-сторінок в "усесвітню павутину", називається  Web-сервером (Web server). В даний час існує велика кількість Web-серверів, але серед них| найбільш популярним є Apache.

Web-сервер Apache відноситься до програмного забезпечення з відкритим кодом, т.ч. безкоштовному, і дозволяє взаємодіяти з багатьма операційними системами. Він автоматично встановлюється разом з операційною системою Linux і Mac OS X. Докладнішу інформацію про Web-| сервер Apache можна знайти за адресою h t t p d . а p а c h e . о r g .

Проте існують також і інші Web-сервери. Наступним за популярністю є Internet Information Serve r  (IIS). IIS-сервер працює тільки під управлінням операційної системи Windows. При цьому він встановлюється за умовчанням разом з серверними версіями цієї системи.

Настройка програмного оточення для використання мови РНР

Вимоги та варіанти  настройки Web-оточення

Як вже згадувалося, РНР найчастіше використовується для розробки динамічних Web-вузлів, тому говоритимемо про  настройку РНР для подальшого використання на Web-вузлі.

Як  раніше відзначалося, мова РНР для Web-розробки використовується в парі з Web-сервером. Таким чином, для роботи Web-вузла потрібний Web-сервер, котрий повинен підтримувати обмін інформацією з сценаріями РНР. 

До оточення вузла пред'являються і інші вимоги:

- Комп'ютер повинен бути підключений до Internet.

- Комп'ютер повинен мати достатньо ресурсів, таких як дисковий простір і пам'ять, для управління очікуваним Web-трафіком.

- Для роботи сценарію РНР може знадобитися інше програмне забезпечення, наприклад для управління базами даних.

Якщо ви хочете встановити особисте Web-оточення з нуля, то це можна здійснити. Якщо на вашому комп'ютері вже працює Web-вузол, то вам потрібно тільки забезпечити розширення його функціональності з використанням мови РНР.

Якщо ви не хочете встановлювати особисте Web-оточення, то можете

використовувати оточення, встановлене і підтримуване кимось іншим, наприклад інформаційним відділом вашої компанії або комерційними компаніями, які надають послуги Web-хостінга.

Мову РНР можна використовувати у всіх випадках, незалежно від того, самі ви створюєте Web-оточення або воно надане кимось іншим.

Інший варіант типового середовища розробки включає як ваше особисте Web-середовище, так і підтримувану кимось іншим (часто розробники організовують тестування Web - середовища на своїх особистих комп'ютерах, на яких вони створюють і відладжують Web-сторінки). Потім, коли все працюватиме коректно, Web-сторінки пересилаються на корпоративний Web-вузол, який підтримується інформаційним відділом або компанією, що надає послуги Web-хостінга.

Деякі переваги використання готового Web-оточення:

- Це легшее, ніж налаштувати своє власне оточення. Ви тільки копіюєте Web-сторінки на інший комп'ютер. Вам не потрібно встановлювати інше програмне забезпечення, комп'ютерне устаткування тощо.

- Потрібно менше технічних навичок роботи. Вам необхідно знати лише мови програмування в Web, такі як HTML і РНР. При цьому не потрібно нічого знати про з'єднання Internet, Web-серверах, адміністрування ваших комп'ютерів і інші технічні питання.

Переваги використання власного Web-середовища:

- Керованість. Ви приймаєте всі рішення самостійно і можете налаштовувати Web-середовище на свій розсуд.

- Доступ. Ви маєте доступ до комп'ютера завжди, коли захочете працювати з вашим вузлом.

- Стабільність. Ви знаєте, що вузол працюватиме стільки, скільки вам потрібно. Ви повністю захищені від ситуації, коли одного разу прокинувшись, дізнаєтеся, що компанія, яка надавала вам послуги хостінгу, відійшла від справ і вам необхідно за два дні перемістити ваш вузол  в інше місце.

- Безпека. Оскільки ви контролюєте Web-середовище, то тільки ви повинні мати доступ до комп'ютера. В міру необхідності його можна заблокувати. Якщо ви користуєтеся послугами хостінгових компаній, то до комп'ютера мають доступ і інші люди. Один з них може бути тим поганим хлопцем, який оволодіє вашими секретами.

Настройка власного  Web-оточення

Якщо ви починаєте розробку Web-вузла з нуля, потрібно добре розуміти структуру програмного забезпечення. Потрібно буде встановити Web-сервер і модуль РНР, а потім самостійно підтримувати, адмініструвати і оновлювати систему. Такий шлях вимагає більше зусиль і знань.

Установка Web-сервера

Якщо комп'ютер вже куплений і настроєний, слід вирішити, який Web-сервер встановлювати.

Якнайкращий вибір - це, звичайно ж, сервер Apache, оскільки він має ряд наступних переваг:

-  Безкоштовний.

- Працює з різними операційними системами. Сервер Apache працює під управлінням систем Windows, Linux, MACOS, FREEBSD і більшості версій Unix.

- Популярність. Згідно з дослідженнями, на 60% вузлів використовується Web-сервер Apache. І це дійсно так! Це також означає, що при виникненні проблем вам зможе допомогти більша кількість користувачів.

- Надійність. Після установки і настройки сервер Apache працюватиме стільки, скільки пропрацює ваш комп'ютер. Проблеми з цим сервером виникають дуже рідко.

- Можливість настройки. Відкритий початковий код дає можливість програмістам модифікувати сервер Apache, додаючи або модифікуючи модулі на свій розсуд.

- Безпека. Існує безкоштовне програмне забезпечення, яке дозволяє настроїти Apache для роботи з сервером безпеки SSL. Протокол SSL застосовується для забезпечення підвищеної безпеки Web-вузлів, що використовують дуже важливу інформацію. Це означає, що інформація, що передається між Web-сервером і браузером, шифрується, тому ніхто не зможе перехопити і прочитати її. Безпека - необхідний компонент для вузлів електронної комерції.

Сервер Apache автоматично встановлюється при установці повної версії системи Linux. Крім того, Apache зазвичай входить до складу операційної системи Мас. Для більшості версій Unix можна самостійно викачати ядро Apache і скомпілювати його, а можна використовувати двійкові файли (binary) (скомпільовані програми для певних операційних систем).

Якщо ви працюєте з операційною системою Windows, вам необхідно встановити бінарний файл (в основному Apache призначений для роботи з операційними системами Windows NT/2000/XP, хоча іноді його використовують і в системах Windows 98/Ме).

Найбільш стабільною поточною версією є Apache 1.3.27.

Apache 2 - це також стабільна версія, але до цих пір модуль РНР працює з нею в експериментальному режимі. Проте у будь-якому випадку зверніться на вузол www. php. net і перевірте поточний стан справ з цього питання. Інформацію про сервер Apache, завантажувальні модулі, документацію, рекомендації по установці в різних операційних системах можна знайти за адресою h t t p d . apache. org.

Для роботи з мовою РНР цілком підійдуть і інші Web-сервери. Компанія Microsoft пропонує, наприклад, сервер IIS (Internet Information Server), який займає друге місце по популярності в мережі Internet: на ньому працює близько 27% Web-вузлів.

Установка модуля РНР

Багато комп'ютерних систем поставляються разом з модулем РНР. Він включений до складу більшості дистрибутивів Linux. Деякі новіші версії операційної системи Mac OS X теж поставляються разом з модулем РНР.

Перш ніж встановити цей модуль, перевірте, чи не був він встановлений на вашому комп'ютері раніше. Для цього пошукайте на диску PHP-файли. У різних операційних системах це можна зробити таким чином:

- Linux/Unix/Mac. У командному рядку введіть команду find / -name "php*";

- Windows. Скористайтеся засобом пошуку (виберіть команду Пуск - Пошук) для знаходження файлів за шаблоном php*.

Якщо ви не знайшли PHP-файли, значить, модуль РНР відсутній. Для його установки буде потрібно доступ до Web-серверу вашого вузла. Наприклад, якщо ви встановлюєте РНР для роботи з сервером Apache, потрібно відредагувати його конфігураційний файл.

Всю необхідну інформацію і необхідні програмні модулі можна знайти на вузлі www. php. net .

Модуль РНР можна встановити для використання спільно з Web-сервером (версія РНР CGI) для підтримки Web-вузлів або для створення незалежних сценаріїв (PHPCLI). Для функціонування двох цих різних версій мови РНР потрібні різні виконувані файли. Можна встановити одночасно обидві версії або тільки одну з них.

У системі Windows модуль РНР можна встановити двома способами: автоматично, за допомогою програми установки, або уручну, скориставшись архівним файлом .zip.

Конкретний спосіб установки залежить від того, для чого ви плануєте застосовувати мову РНР.

При виборі методу установки керуйтеся наступними рекомендаціями:

- Автоматична програма установки дозволяє встановити тільки версію РНР CGI. При цьому можна вказати, які компоненти РНР вам потрібні. Наприклад, інтерфейс ODBC призначений для взаємодії з базами даних (такими як MS Access) або з розширенням SQlite, яке використовується для зберігання даних в текстових файлах.          Можна також підключити розширення для роботи з мовою XML, протоколом FTP і об'єктами СОМ. Проте даний метод установки не дозволяє інсталювати версію РНР CLI.

Цей простий і швидкий метод установки потрібно використовувати в наступних випадках:

- Модуль РНР планується використовувати тільки для розробки і підтримки   Web-додатків, а версія РНР CLI не потрібна.

- Модуль РНР використовується для генерації коду HTML або обробки даних HTML-форм.

- Вам не потрібна взаємодія з базами даних або цілком достатньо інтерфейсу ODBC.

Всі поставлені завдання дозволяє вирішити вбудована функціональність модуля РНР.

- Установка уручну. Всі настановні файли містяться в архівному файлі . zip. Цей файл потрібно завантажити, розархівувати, а потім розмістити отримані файли у відповідних каталогах.

При установці уручну модуль РНР володіє більшою функціональністю.

Якщо вам знадобився деякий компонент РНР (наприклад, інтерфейс РНР CLI або розширення для роботи з базою даних), то його доведеться встановити уручну. При цьому всі необхідні файли можна знайти в завантаженому архівному файлі . zip.

Автоматична установка PHP CGI

Приведена нижче послідовність дій дозволить встановити модуль РНР в системі Windows, призначений для розробки Web-додатків. Не забувайте про те, що при цьому версія PHP CLI не встановлюється.

1. Введіть в браузері URL - адресу www. php. net.

2. Перейдіть в розділ Downloads.

3. Перейдіть в розділ Windows Binaries. Клацніть на відповідному посиланні, щоб завантажити програму установки останньої версії РНР (наприклад  - 5.0.0).

4. В результаті буде виведений список дзеркальних Web-вузлів, з яких можна завантажити необхідний файл. Виберіть Web-вузол, розташований до вас щонайближче.

Відкриється діалогове вікно.

5. Виберіть режим збереження файлу.

У діалоговому вікні, що відкрилося, вкажіть шлях до каталогу, в якому буде збережений завантажуваний файл.

6. Перейдіть в каталог, в якому потрібно зберегти програму установки РНР, а потім клацніть на кнопці Save.

Після закінчення завантаження файлу перейдіть в каталог, в якому він був збережений. Ім'я завантаженого файлу повинне містити символи php, номер версії РНР і рядок - i n s t а l l e r . e x e, наприклад

p h p 5 . 0 . 0 - i n s t а l l e r . e x e .

7. Якщо використовуваний Web-сервер запущений (окрім серверів IIS (Internet Information Server) або PWS (Personal Web Server)), закінчить його роботу.

8. Перейдіть в каталог із завантаженим файлом і двічі клацніть на його імені (php5 . 0 . 0 -installer. ехе).

З'явиться вікно.

9. Клацніть на кнопці Next.

У новому діалоговому вікні з'явиться текст з ліцензією.

10. Клацніть на кнопці I agree.

З'явиться діалогове вікно, в якому можна вибрати тип установки.

11. Виберіть тип Standard і клацніть на кнопці Next.

У вікні, що з'явилося, можна вибрати каталог, в який буде встановлений модуль РНР.

12. Якщо вас цілком влаштовує установка РНР в каталог за умовчанням (с: \php), клацніть на кнопці Next. Інакше клацніть на кнопці Browse, вкажіть відповідний каталог і після цього також клацніть на кнопці Next.

У діалоговому вікні, що з'явилося, можна вибрати параметри електронної пошти.

13. В діалоговому вікні настройки електронної пошти містяться два поля, в яких можна ввести адресу використовуваного сервера SMTP або адресу електронної пошти, яка використовуватиметься при відправці поштових повідомлень із сценаріїв РНР. Якщо ці дані вам невідомі, залиште в цих полях значення, встановлені за умовчанням.

Пізніше ці зміни можна внести і в конфігураційний файл модуля РНР.

Клацніть на кнопці Next.

У діалоговому вікні, що з'явилося, міститься список Web-серверів, спільно з якими можна використовувати модуль РНР.

15. Виберіть використовуваний Web-сервер. Якщо в списку такого сервера немає, виберіть значення None.

16. Клацніть на кнопці Next.

З'явиться діалогове вікно Ready. Це свідчить про те, що програма установки готова до інсталяції модуля РНР.

17. Для запуску процесу установки клацніть на кнопці Next.

Після завершення установки модуля РНР 5.0.0 з'явиться діалогове вікно зі всією необхідною інформацією. Уважно прочитайте це повідомлення. Якщо знадобиться, перезапустіть Web-сервер. Наприклад, при використанні Web-сервера Apache діалогове вікно матиме вигляд, що говорить про певні проблеми.

Отримання цього повідомлення зовсім не означає, що сервер Apache не встановлений. Просто для забезпечення його коректної взаємодії з модулем РНР всі настройки необхідно виконати уручну.

Настройка програмного оточення для використання мови РНР.

Настройка власного  Web-оточення

Установка модуля РНР вручну

Для того, щоб уручну встановити модуль РНР 5 в системі Windows, необхідно виконати наступні дії:

1. Зайдіть на Web-вузол www. php. n e t .

2. Перейдіть в розділ Downloads.

3. Перейдіть в розділ Windows Binaries і клацніть на посиланні для завантаження архівного файлу . zip останньої версії РНР (наприклад - 5.0.0).

4. В результаті буде виведений список дзеркальних Web-вузлів, з яких можна завантажити необхідний файл. Виберіть Web-вузол, розташований до вас щонайближче.

Відкриється діалогове вікно.

5. Виберіть режим збереження файлу.

У діалоговому вікні, що відкрилося, можна вказати шлях до каталогу, в якому буде збережений завантажуваний файл.

6. Перейдіть в каталог, в якому потрібно зберегти завантажуваний файл, а потім клацніть на кнопці Save.

Після закінчення завантаження файлу зайдіть у вибраний каталог і знайдіть там завантажений файл. Його ім'я починається з символів php, після них слідує номер версії РНР і рядок -Win32 . zip, наприклад php-5 . 0 . 0-win32 . zip.

7. Розархівуйте завантажений zip-файл в каталог, в який ви хочете встановити модуль РНР, наприклад с: \php.

Після подвійного клацання на імені zip-файла з'явиться діалогове вікно програми, яка використовується для роботи з архівними файлами, наприклад WinZip або Pkzip.

Виберіть режим розархівування файлу і каталог, в якому потрібно розмістити настановні файли.

Цілком можливо, що при розархівуванні zip-файла буде створений каталог php-5 . 0 . 0-Win32. В цьому випадку його ім'я можна замінити на простіше, наприклад,  php. Тоді після установки файлів РНР на диск с: \ вони будуть розміщені в каталозі с : \php. Такий вибір зручний тим, що в багатьох конфігураційних файлах необхідно указувати шлях до каталогу, де встановлений модуль PHP, а в більшості випадків за умовчанням використовується саме каталог с: \php.

Не варто встановлювати РНР в каталог, в імені якого міститься пропуск, наприклад,  Program Files/PHP. Іноді через це можуть виникати проблеми.

Після виконання всіх перерахованих вище кроків на вашому жорсткому диску міститиметься каталог зі всіма необхідними для роботи файлами РНР.

8. В кореневому каталозі РНР міститься файл php.ехе, призначений для роботи з інтерфейсом командного рядка PHPCLI. У разі потреби його можна перемістити в будь-який інший каталог.

Настройка модуля РНР та Web-сервера в системі Windows

Для настройки роботи модуля РНР призначений спеціальний конфігураційний файл.

Крім того, для того, щоб Web-сервер коректно обробляв сценарії РНР, необхідно внести відповідні зміни і в конфігураційний файл Web-сервера.

Настройка РНР в системі Windows

Модуль РНР використовує конфігураційний файл php. ini, в якому можна задати різні параметри настройки. Він прочитується кожного разу при запуску РНР. Якщо використовувалася програма автоматичної установки РНР, то цей файл створюється автоматично.

Інакше файл php. ini необхідно скопіювати в необхідний каталог уручну.

Початковий конфігураційний файл php. ini - dist (з параметрами за умовчанням) можна знайти в кореневому каталозі РНР. Залежно від використовуваної операційної системи його необхідно переписати в один з наступних каталогів:

- windows (у системах Windows 98/Ме/ХР)

- winnt (у системах Windows NT/2000)

Якщо раніше був встановлений модуль РНР (наприклад, версії 4.3), зробіть резервну копію старого конфігураційного файлу php . ini, а використовувані настройки  перенесіть в новий файл.

В більшості випадків використовувані за умовчанням параметри (окрім згаданого вище) забезпечують коректну роботу модуля РНР. Проте в міру необхідності їх можна змінити.

Настройка Web-сервера для роботи з РНР

Для того, щоб Web-сервер коректно обробляв сценарії РНР, необхідно внести зміни до його конфігураційного файлу і забезпечити коректне розпізнавання файлів сценаріїв РНР. Якщо модуль РНР був встановлений з використанням автоматичної програми інсталяції і в системі встановлений Web-сервер IIS або PWS (окрім IIS 6), то вся настройка виконується автоматично. Якщо ж ви використовуєте Web-сервер Apache або модуль РНР був встановлений уручну, то всі зміни в конфігураційний файл доведеться внести самостійно.

*Настройка Web-сервера Apache

Для настройки Web-сервера Apache необхідно виконати наступні дії:

1. Знайти конфігураційний файл Web-сервера httpd . conf.

Для цього виберіть команду Start => Programs => Apach HTTP Server =>Configure Apache Server => Edit Configuration.

Якщо по якихось причинах необхідна команда в меню відсутня, то конфігураційний файл можна пошукати на жорсткому диску. Зазвичай цей файл міститься в підкаталозі conf кореневого каталога Apache (наприклад

с: \Program Files\Apache group\Apache\conf). Відкрийте його в будь-якому текстовому редакторі, такому як Notepad або WordPad.

2. Вказати в конфігураційному файлі httpd.conf, щоб файли з кодом на мові РНР передавалися інтерпретатору РНР. Для цього зміните значення двох наступних директив:

- ScriptAlias. Директива ScriptAlias дозволяє задати ім'я-псевдонім повного шляху до каталогу, де встановлений модуль РНР. Для цього знайдіть у файлі httpd . conf рядок з директивою ScriptAlias. Таких рядків може бути декілька, кожна з яких призначена для різних програмних продуктів. Знайдіть рядок, що відноситься до модуля РНР (при потребі цей рядок потрібно додати):

ScriptAlias /php/ "c:/php/"

Перший аргумент визначає псевдонім (/php/), а другий - шлях до модуля РНР (с: /php/).

- Action. Директива Action використовується для пов'язання всіх файлів з типом application/x-httpd-php з інтерпретатором php-cgi.exe.

У відповідному рядку вкажіть наступне значення (якщо такий рядок відсутній, його потрібно створити):

Action а p p l i з а t i про n / x - h t t p d - p h p "/php/php-cgi.exe"

Зверніть увагу, що в приведеному рядку використовується ім'я-псевдонім, визначуване директивою Script Alias . При зміні значення директиви ScriptAlias сервер Apache шукатиме файл php-cgi. exe в іншому каталозі.

При вказівці шляхів краще використовувати косу лінію (/). Web-сервер Apache зможе обробляти їх без особливих проблем.

3. Вказати в конфігураційному файлі httpd.conf  у яких файлах може міститися код РНР.

Для цього необхідно знайти  у файлі httpd.conf рядок з директивою AddType. (Цих рядків теж може бути декілька.) Знайдіть потрібний рядок, а при її відсутності - створіть.

AddType а p p l i з а t i про n / x - h t t p d - p h p .php

Якщо на початку цього рядка міститься символ грат (#), видалите його.

Тепер для обробки файлів з розширенням . php Web-сервер Apache звертатиметься  до інтерпретатора РНР. При потребі можна задати декілька таких розширень.

4. Запустити або перезапустити наново Web-сервер.

Для цього в системі Windows NT/2000/XP виберіть команду Start => Programs =>Apach HTTP Server => Control Apache Server  і запустіть Web-сервер як службу.

Іноді після перезапуску сервера нові параметри не встановлюються. У такому разі треба завершити роботу сервера Apache, а потім запустити його наново. Часто сервер запускається при включенні комп'ютера. Тому при виникненні яких-небудь проблем треба вимкнути комп'ютер, а потім його включити знов.

Тестування РНР

Тестування модуля РНР проводиться з метою переконання в тому, що він працює коректно, таким чином:

1. Необхідно знайти папку, в якій розміщуватимуться сценарії РНР. Саме у цій папці і її підпапках зберігатимуться файли вашого вузла. Зазвичай при використанні сервера Apache ця папка за умовчанням називається htdocs. Вона міститься в папці, в якій встановлений Web-сервер.

2. Створіть файл з ім'ям test .php і додайте в нього наступний код:

<html>

<head>

<title>Tecтування PHP</title>

</head>

<body>

<р>Це рядок HTML

<?php

         echo "<р>Це рядок РНР</р>";

         phpinfо();

?>

</body>

</html>

3. Вкажіть в браузері URL-адресу файлу test . p h p, який був створений при виконанні п. 2.

URL матиме вигляд h t t p : / / w w w . m у з про m p а n у . з про m / t e s t . p h p . Якщо ж Web- сервер, модуль РНР і сам файл знаходяться на локальному комп'ютері, можна ввести URL-адресу l а l h про s t / t e s t .php.

Щоб файл оброблявся інтерпретатором РНР, потрібно дістати доступ до нього через Web-сервер, а не за допомогою команди меню браузера Файл  => Відкрити.

В результаті у вікні браузера ви побачите наступне:

         Це рядок HTML

         Це рядок РНР

Під цими рядками повинна з'явитися велика таблиця, що відображає всю інформацію про РНР у вашій системі. У ній міститимуться шляхи і імена файлів, значення змінних, підтримуване програмне забезпечення і значення різних параметрів.

Ця таблиця створюється функцією сценарію phpinfо ( ) . Якщо у вас виникнуть питання з приводу настройки модуля РНР, завжди можна скористатися цією функцією, щоб відобразити таблицю і перевірити установки. Якщо з установкою модуля РНР виникли які-небудь проблеми, то в результаті виконання тестового сценарію можна отримати наступну інформацію.

v  Виводиться тільки текст Це рядок HTML. Рядки РНР і таблиця не відображаються.

v Відображається порожня сторінка.

v Браузер не відображає Web-сторінку.

Якщо у вас виникла проблема з тестовим файлом, то спочатку перевірте, чи встановлений модуль РНР. У командному рядку перейдіть в каталог, в якому встановлений модуль РНР, і введіть команду

php-cgi -v

або

php -v

Якщо інтерпретатор РНР повертає інформацію про свою версію, значить, він встановлений. Переконаєтеся в тому, що ви звертаєтеся до тестового файлу саме так, як описано в п. 3.   

Переконайтесь, що тестовий файл знаходиться у вашому дисковому просторі, як описано в п. 1. При використанні сервера Apache можна проглянути файл httpd.conf і перевірити правильність рядка

DocumentRoot "С:/program Files/Apache Group/Apache/htdocs"

Цей рядок указує серверу Apache, де шукати файли Web-сторінок.

Ще раз переконаєтеся в правильності коду. Тестовий сценарій можна завантажити з Web- вузла  - j а n e t . v а l а d e . com.

Якщо ж сценарій написаний правильно і шляхи задані коректно, то проблема, швидше за все, в конфігураційних параметрах модуля РНР.    Прогляньте інструкції по настройці модуля РНР і переконайтеся в тому, що ви слідували всім вказівкам.

Необхідно перевірити наступне:

Що Web-сервер настроєний так, що по розширенню визначає файли з кодом РНP. Перевірте, що файл h t t p d . conf містить рядок

AddType  а p p l i з а t i про n / x - h t t p d - p h p .php

Цей рядок указує серверу Apache, що код РНР слід шукати у файлах з розширенням . php.

Якщо у файлі php. i n i немає такого рядка - додайте його. Якщо він є, але перед ним стоїть крапка з комою, видаліть цей символ. Якщо в цьому рядку вказано значення 1 - заміните його на 0.

Якщо ви все ретельно перевірили, але проблема не зникла, то, можливо, у вас щось незвичайне з настройками комп'ютера або Web-сервера. Прочитайте всю інформацію про компьтер, яка має відношення до установки модуля РНР, а також про проблеми, які можуть виникати при його установці.

Якщо проблема як і раніше існує, відправте своє питання до однієї з груп новин.

Спочатку проглянете архіви за адресою marc . theaimsgroup. com/. Можливо, хтось вже ставив це питання, і ви зможете швидко знайти відповідь в архівах. Якщо немає - відправте питання на форум й при цьому:

- Вкажіть назву і версію операційної системи, яку ви використовуєте.

- Вкажіть версію РНР, яку ви намагаєтеся встановити.

- Скопіюйте вміст тестового файлу в лист.

- Опишіть точний результат, який ви бачите на Web-сторінці.

Як правило, учасники форуму є дуже ерудованими фахівцями. Вони  допоможуть вирішити всі проблеми.

Настройка РНР для написання сценаріїв загального призначення

Значення версії PHP CLI

Відомо, що PHP можна використовувати як самостійна мова програмування загального призначення. В цьому випадку встановлювати Web-сервер не потрібно. Версія РНР для командного рядка — РНР CLI — є окремою програмою, яка не використовується для підтримки Web-вузлів. Її необхідно встановити окремо.

Навіть якщо на вашій машині вже встановлений модуль РНР, версія РНР CLI на ній може бути відсутньою. Пошукайте відповідний файл в каталозі РНР. Виконуваний файл РНР CLI називається php.exe. Можливо, версія РНР CLI була встановлена в якому-небудь іншому місці. Всі файли РНР на жорсткому диску можна знайти за допомогою наступної команди для Windows:

Пуск -  Пошук. Далі як шаблон пошуку введіть рядок php*.

Якщо ви знайшли файли РНР, які, по-вашому, можуть відноситися до РНР CLI, перейдіть в каталог, де знаходяться ці файли, і введіть  команду: php –v.

На екрані з'явиться наступний рядок, що містить фрагмент с l i :

РНР 5 . 0 . 0 ( з l i ) ( b u i l t : Jun 15, 2003 23:07:34)

Вказана команда може також використовуватися для перевірки коректності роботи програми РНР CLI. Якщо в результаті виводиться номер версії, а не повідомлення про помилку, значить, програма працює правильно.

Якщо ви не знайшли версію РНР CLI, її потрібно встановити. Тільки після цього ви зможете використовувати РНР для вирішення завдань, не пов'язаних з Web.

Якщо ви збираєтеся використовувати РНР як для розробки Web-вузлів, так і для створення сценаріїв загального призначення, необхідно встановити дві різні PHP-програми —версію для Web і версії РНР CLI. Обидві програми повинні бути однакової версії, тобто якщо ви встановлюєте РНР 5.0.0 для Web, переконаєтеся, що ви також використовуєте РНР CLI 5.0.0.

У системі Windows для роботи РНР потрібний файл p h p 5 t s . d l l, який знаходиться в головному каталозі РНР.

Використання спеціальних засобів створення РНР-сценаріїв

Відомо, що PHP-сценарії— це комп’ютерні файли, які містять написані на мові РНР інструкції для виконання певних дій і,  що це  прості текстові файли. Значить, при їх створенні можна користуватися будь-якими відомими засобами роботи з текстовими файлами, наприклад,  Notepad або WordPad. Крім того, існують засоби, які істотно полегшують весь процес розробки. Заслуговують уваги редактори для створення програм і інтегровані середовища розробки IDE(Integrated Development Environment).

Редактори для написання програм

У Internet міститься багато безкоштовних або недорогих редакторів. Серед найбільш популярних можна виділити наступні:

Arachnophilia (www.arachnoid.com/arachnophilia/). Цей мультиплат-форменний редактор написаний на мові Java і відноситься до безкоштовного

програмному забезпеченню.

•  BBEdit (www.barebones . com/products/bbedit/index, shtml). Цей редактор призначений для використання на комп'ютерах Мас.

•  EditPlus (www.editplus.com). Цей редактор розроблений для використання на машинах під управлінням операційної системи Windows.

Emacs (www.gnu.org/software/emacs/emacs.html). Редактор Emacs працює під управлінням систем Windows, Linux і Unix і відноситься до безкоштовного програмному забезпеченню.

HomeSite (www.macromdia.com/software/homesite/). Редактор HomeSite призначений для використання під управлінням системи Windows і коштує 99 доларів.

HTML-Kit (www.chami.om/html-kit/). Це ще один редактор для Windows, якого можна використовувати безкоштовно.

vim і gvim: (www.vim.org/). Ці безкоштовні покращувані версії редактора vim можна використовувати в операційних системах Windows, Linux, Unix і MACOS.  Редактор gvim має графічний призначений для користувача інтерфейс, який дозволяє користувачам Windows відчувати себе як вдома.

Більшість подібних програмних засобів надають наступні можливості:

Виділення кольором. Кольорове виділення частин сценарію, таких як дескриптори HTML, рядки тексту, ключові слова і коментарі, дозволяє легко орієнтуватися в коді програми.

Структуроване розташування тексту. Автоматичний відступ усередині дужок полегшують читання сценаріїв.

Нумерація рядків.  Додавання тимчасовій нумерації рядків спрощує роботу над помилками, оскільки в повідомленнях про помилки указується номер рядка сценарію РНР. Самостійно складно відлічити 872 рядки від початку файлу і знайти той, в якому була виявлена помилка.

Робота з декількома файлами. Можна працювати з декількома файлами одночасно.

Простота вставки коду. Багато редакторів містять кнопки для вставки фрагментів коду, таких як дескриптори HTML або оператори і функції РНР.

Бібліотека фрагментів коду. Фрагменти свого коду можна зберегти, а потім вставити в сценарій одним клацанням мишею.

Інтегроване середовище розробки

Інтегроване середовище розробки (Integrated Development Environment — IDI) — це цілісний робочий простір для розробки додатків. Разом з іншими засобами воно включає редактор для написання програм.

Необхідно відзначити наступні можливості, якими володіють більшість IDI:

• Засоби відладки. Містить вбудовані можливості по відладці програмного коду.

Попередній перегляд. Забезпечує відображення Web-сторінки, що генерується сценарієм.

•  Засоби тестування. Має вбудовані засоби тестування сценаріїв.

•  FTP. Має вбудовану підтримку протоколу FTP і його використання для

завантаження файлів. Дозволяє відстежувати файли, що відносяться до Web-вузлу і оновлювати його вміст.

Управління проектом. Організовує сценарії в проекти; управляє файлами

проекту, включаючи відладку файлів і їх реєстрацію.

Резервне копіювання. Періодично (автоматично) створює резервні копії Web-вузла.

Інтегровані засоби розробки складніші у вивченні, чим звичайні редактори.

Деякі з них досить дорогі, але безліч їх переваг коштують цих грошей.

Інтегроване середовище розробки особливо корисне, коли сценарії для одного проекту розробляються декількома програмістами.

Інтегроване середовище розробки істотно спрощує координацію проектів і забезпечує сумісність коду.

Деякі популярні інтегровані середовища розробки:

Dreamweaver MX (www.macromedia.com/dreamweaver). Це ін-тегроване середовище розробки доступне для платформ Мас і Windows. Воно забезпечує візуальні засоби макетування, дозволяючи створити Web- сторінку, перетягуючи елементи з панелі інструментів і клацаючи на відповідних кнопках. Dreamweaver може самостійно написати HTML- код замість вас. Воно включає редактор HomeSite, тому ви можете написати свій власний код, а також підтримує мову РНР. Вартість Dreamweaver — 399 доларів.

Komodo (www.activestate.com/Products/Komodo/). Komodo існує для платформ Windows і Linux. Це інтегроване середовище розробки з використанням мов з відкритим кодом, включаючи Perl, Python, а також РНР. Вартість цієї системи— 29,95 доларів для використання в особистих або освітніх цілях і 295 доларів — для комерційного використання.

Maguma (www.maguma.com). Maguma доступно тільки для Windows. Це інтегроване середовище розробки з використанням Apache, PHP і MYSQL під управлінням операційної системи Windows. Воно поставляється в двух версіях, Maguma Studio Desktop і Maguma Studio Enterprise, що мають різну вартість, і надає засоби розробки дуже великих вузлів з декількома серверами. Maguma Studio для РНР— це вільно поширювана версія з підтримкою тільки мови РНР.

PHPEdit (www.phpedit.net/products/PHPEdit/). Це безкоштовне інтегроване середовище розробки доступне тільки для системи Windows.

Zend Studio (www. zend.com/store/products/zend-studio.phр ).

Zend Studio призначено для використання в системах Windows і Linux.

Це інтегроване середовище розробки було написане людьми, які створили механізм Zend — ядро РНР. Ціна Zend Studio — 195 доларів.

Web-сторінку з описом редакторів і інтегрованих середовищ розробки, які можна використовувати для створення сценаріїв РНР, можна знайти за адресою:  p h p e d i t про r s . l i n u x b а з до u p . з про . u до . В даний час в списку міститься опис більш ніж 111 редакторів.

Створення сценарію РНР  

Операторі мови РНР та їх написання

Оператор мови РНР — це інструкція, яка указує інтерпретатору РНР, які дії потрібно виконати. PHP-сценарій— це послідовність операторів РНР. Теоретично сценарій може містити один або декілька операторів, але навряд чи який-небудь сценарій складатиметься з єдиного виразу. В більшості випадків сценарії включають по декілька операторів в рядку. Інтерпретатор РНР виконує операторів по-одному до тих пір, поки не досягне кінця сценарію.

Сценарії дозволяють пояснити інтерпретатору РНР, що ви хочете. Ви можете вивести текст на Web-сторінку або зберегти дані, які вводяться користувачем у форму на Web-сторінці. РНР також може виконувати дії, які не властиві Web-вузлам, наприклад записувати файли в каталог на жорсткому диску. Можна написати простий сценарій, який виводить вітання у вікні Web-браузера. Можна створити складний сценарій, який виводить у вікні браузера різний текст для різних людей, запрошує пароль у відвідувачів Web-вузла або відмовляє в доступі тим відвідувачам, які не ввели потрібний пароль. Додаток часто складається з двох або декількох сценаріїв, які спільно виконують необхідні дії.

Як вже наголошувалося, оператор РНР визначає, які дії необхідно виконати. Одним з найбільш популярних операторів РНР є echo. Він призначений для виведення інформації.

Розглянемо наступний приклад використання оператора echo:

echo "Привіт";

Оператор echo виводить все, що знаходиться між подвійними лапками (" "). Тому в даному випадку відобразиться рядок Привіт.

Оператор echo є простим (simple statement). Всі прості оператори в мові РНР закінчуються крапкою з комою (;). Інтерпретатор РНР прочитує простих операторів до тих пір, поки не зустріне символ ; (або закриваючий дескриптор, який буде розглянутий пізніше). При цьому всі пропуски ігноруються. Не має значення, скільки почитано рядків, який сенс або синтаксис оператора. Весь вміст сценарію просто зчитивається до крапки з комою і інтерпретується як один оператор.

Відсутність крапки з комою є поширеною помилкою, в результаті якої виводиться повідомлення про помилку з вказівкою рядка, де міститься помилка.

Для написання сценаріїв РНР можна скористатися спеціальним редакторам, в якому відображатимуться номери рядків. В цьому випадку простіше аналізуватиме код сценарію. Інакше доведеться відлічувати номери рядків, щоб знайти той рядок, в якому міститься помилка.      Дійсно, якщо сценарій складається з декілька рядків,  то перерахувати їх не так вже і складно. Але якщо в сценарії міститься 553 рядки, то життя перестає бути веселим. Необхідно відзначити, що багато редакторів дозволяють вказати номер рядка, до якого необхідно перейти.

У РНР весь сценарій можна розмістити в одному довгому рядку, розділяючи при цьому простих  операторів крапкою з комою. Але в цьому випадку аналізувати і читати сценарій дуже важко. Таким чином, прості оператори краще розміщувати в різних рядках.

Іноді декілька операторів поміщають в один блок між фігурними дужками ({ }). Оператори в блоці виконуються разом, як один оператор. Дуже часто блоки коду використовуються спільно з умовним оператором, де набір інструкцій виконується при виконанні  деякої умови.

Розглянемо наступний приклад:

if (час_доби == північ)

{

одягнути піжаму;

почистити зуби;

лягти в ліжко;

}

Фігурні дужки указують, що набір операторів в блоці виконуватиметься як одне ціле. Опівночі, тобто коли час доби = північ, будуть виконані всі три дії, вказані в блоці. Інакше нічого робити не треба (не треба одягати піжаму, чистити зуби, йти лягати спати).

Оператори, що використовують блоки коду (як, наприклад, оператор if), називаються складними (complex statement). В цьому випадку інтерпретатор РНР прочитує весь складний оператор, не зупиняючись перед першим символом крапки з комою. Він допускає існування декількох блоків коду і шукає останню фігурну дужку останнього блоку. Сліду  також відзначити, що перед закриваючою фігурною дужкою стоїть крапка з комою, а після — ні.

Оператори усередині блоку вводяться з відступом. Таке розміщення впливає тільки на легкість для читання коду, але ніяк не на результат, виконання. Людині, що аналізує код сценарію, набагато легше визначатиме, де починається і закінчується той або інший блок. Використання відступів дозволить швидко знайти невистачаючу дужку.

Відсутність закриваючої фігурної дужки є поширеною помилкою, особливо якщо використовується декілька вкладених блоків.

Технологія написання сценаріїв

Для написання повноцінного сценарію необхідно додати декілька операторів у файл, який має розширення .php. Проте, якщо сценарій не такий вже простий або якщо у вас немає досвіду, буде розумним спочатку написати код сценарію на папері. Пам'ятаєте, що ретельне планування дозволить уникнути багатьох помилок при написанні програмного коду.

При створенні сценарію РНР для Web-вузла його програмний код необхідно якимось чином вставити в HTML-код Web-сторінки.

Якщо ж сценарій створюється незалежно від Web, то оператори РНР поміщаються в окремий файл, який викликається безпосередньо.

У наступних лекціях буде показано, як слід поступати в обох випадках.

Обробка файлів  РНР сервером

Якщо користувач звертається до звичайного файлу HTML (з розширенням . h t m l або . htm), Web-сервер  передає його код безпосередньо браузеру. Браузер, у свою чергу, обробляє отриманий файл з дескрипторами HTML і виводить Web-сторінку. Якщо ж користувач згенерував запит до файлу РНР (з розширенням . php), Web-сервер здійснює обробку коду РНР (а не відправляє його відразу браузеру).

При цьому виконуються наступні кроки:

1. Web-сервер проглядає початковий файл в режимі HTML, тобто він ніяк не обробляє дескриптори  HTML, а відправляє їх безпосередньо бра-узеру.

2. Перегляд в режимі HTML виконується до тих пір, поки не буде знайдений відкриваючий дескриптор РНР (<?php).

3. Знайшовши відкриваючий дескриптор <?php, Web-сервер перемикається в режим РНР. Все, що знаходиться після дескриптора <?php, інтерпретується Web-сервером як PHP-код і відповідним чином  обробляється. Наприклад, якщо в коді РНР міститься оператор виводу, то відповідна інформація передається браузеру.

4. Web-сервер продовжує роботу в режимі РНР до тих пір, поки не зустріне закриваючий дескриптор РНР (?>).

5. Знайшовши закриваючий дескриптор ?>, Web-сервер знову  переключається в режим HTML і продовжує виконувати дії, починаючи с п. 1.

Вставка операторів РНР в HTML-код

При використанні мови РНР для створення Web-вузлів оператори РНР необхідно вставляти в HTML-код Web-сторінки. При цьому відповідні файли повинні мати розширення . php, щоб Web-сервер міг знати про наявність коду РНР. (Адміністратор Web- сервера може використовувати і інші розширення файлів, які можуть містити операторів РНР, наприклад .php4 або .phtml. Проте розширення .php є найбільш популярним, тому  ми будемо говорити про нього.)

Для вставки коду РНР у файл HTML використовуються дескриптори, на зразок тих, що застосовуються у файлах HTML. Загальний синтаксис має наступний вигляд:

<?php

оператори РНР

?>

Можна також використовувати скорочену форму дескрипторів РНР <? і ?>, що дозволяє трохи скоротити код. Для того, щоб активізувати або відключити використання скорочених дескрипторів, слід внести відповідні зміни до конфігураційного файлу php . i n i .

Іноді використання скорочених дескрипторів є не дуже гарною ідеєю. Дійсно, якщо розмістити Web-вузол на сервері, який не підтримує скорочені дескриптори, PHP-код оброблятиметься некоректно, тобто для перенесення коду краще застосовувати повні дескриптори РНР.

Всі оператори, що знаходяться між відкриваючим і закриваючим дескрипторами РНР, передаються Web-сервером на обробку інтерпретатору РНР. Після виконання всіх дій код РНР опускається, а результат передається назад Web-серверу. Той, у свою чергу, відправляє на сторону користувача (тобто браузеру) код HTML і результати обробки сценарію РНР. При цьому код РНР в браузері не відображається.

Наприклад, додамо у файл HTML наступні рядки коду РНР. При цьому не забувається зберегти цей файл з розширенням . php:

<?php

echo "Це привіт від РНР";

?>

При отриманні Web-сервером запиту на файл з розширенням . php він перевіряє його на наявність дескрипторів РНР. Знайшовши відкриваючий дескриптор <?php, Web-сервер виконає оператор echo, а не просто відправить його браузеру. Браузеру буде переданий результат виконання, а саме рядок Це привіт від РНР, який і відобразиться в його вікні. Навіть якщо проглянути початковий код в браузері, в нім ви не побачите код РНР.

Не намагайтеся проглядати файл РНР, використовуючи браузер безпосередньо, тобто для переміщення до файлу не треба вибирати в меню браузера команду File – Open - Browse (Файл – Відкрити - Огляд). До файлу потрібно звертатися через повну URL-адрес сценарію РНР.

На Web-сторінку можна додати декілька фрагментів PHP-коду. Як приклад приведемо наступний фрагмент.

дескриптори HTML

<?

echo "Це привіт від РНР";

?>

дескриптори HTML

<?

echo " Це теж привіт від РНР";

?>

В результаті у вікні браузера відобразяться два рядки.

Використання РНР незалежно від Web

РНР можна використовувати як самостійну мова написання сценаріїв, незалежно від Web. Для цього в РНР призначений спеціальний інтерфейс CLI (Command Line Interface— інтерфейс командного рядка). Версія РНР CLI відмінна від тієї, яка використовується для роботи з Web-серверами (зазвичай званою РНР CGI), і встановлюється незалежно.

Якщо ви маєте намір використовувати інтерфейс командного рядка CLI для РНР, ви, швидше за все, працюєте на комп'ютері під управлінням операційної системи Unix або Linux.

Програмісти, що працюють в Windows, навряд чи використовуватимуть РНР як самостійну мову написання сценаріїв (хоча у разі потреби це можна зробити).

 

Створення сценарію РНР       

За багато років склалася така традиція, що перша створена програма повинна виводити рядок Здрастуй, світе!

Для HTML використовується наступний код:

<html>

<head><title>HTML- nporpaмa</title></head>

<body>

<р>3драстуй, світе!</р>

</body>

</html>

Якщо відобразити вміст цього файлу в браузері, отримаємо очевидний результат:

         Здрастуй, світе!

Перший сценарій на РНР виконуватиме абсолютно ті ж дії.

Фрагмент коду, який містить дескриптори HTML і PHP-код і виводить у вікні браузера рядок Здрастуй, світе!:

<html>

<head><title>Cценарій PHP</title></head>

<body>

<?php

       echo "<р>3драстуй, світе!</р>";

?>

</body>

</html>

Нагадаємо, що для звернення до файлу необхідно вказати повну URL-адрес сценарію РНР в адресному рядку браузера,  інакше код РНР не виконуватиметься, а  лише відображатиметься у вікні браузера.

У приведеному вище прикладі фрагмент РНР складається з наступних рядків:

<?php

echo "<р>3драстуй, світе!</р>"

?>

Між відкриваючим і закриваючим дескрипторами РНР міститься тільки один оператор echo, який виводить рядок, узятий в подвійні лапки (" ").

Таким чином, в результаті виконання сценарію браузеру буде переданий наступний рядок:

<р>3драстуй, світе!</р>

Якщо фрагмент PHP-кода замінити цим рядком, то отримаємо звичайний HTML-файл. При цьому в обох випадках результат буде один і той же, точно так, як і початковий код, що обробляється браузером (щоб його побачити в меню браузера, слід вибрати команду View=>Source (Вид=>перегляд HTML-кода)).

Оператор виводу РНР

У сценарії, створеному в попередньому розділі, для відображення інформації використовувався оператор виведення echo. Оператори виводу (output statement) зустрічаються практично у всіх сценаріях. Дуже рідко доводиться створювати додатки, в яких нічого не виводиться.

Дійсно, PHP-сценарій може виконувати будь-які дії непомітно для користувача, наприклад,  перевіряти наявність файлу на жорсткому диску. Але якщо клієнтові нічого не буде виведено, то в чому тоді сенс? Як користувач дізнається, знайдений файл чи ні?

А якщо знайдений, то де він у такому разі розташований? Практично у всіх сценаріях використовуються оператори виводу.

Загальний синтаксис оператора виведення echo виглядає таким чином:

echo елемент_виводу1,елемент_виводу2,елемент_виводу З ...

При роботі з цим оператором слід керуватися такими правилами:

1. Параметр елемент_виводу може бути числом (наприклад, таким як 1 або 250) або текстовим рядком.

2. Текстовий рядок повинен бути поміщений в одинарні або подвійні лапки;

3. Кількість аргументів оператора echo може бути довільною.

4. Аргументи оператора echo розділяються комою (,) без використання пропусків.

5. Якщо необхідно додати пропуск при виведенні різних значень, його слід додати в рядок виводу як окремий символ.

Таблиця 1. Приклади використання оператора echo

Приклад

Результат виконання

echo 123;

echo "Здрастуй,  світе!";

echo "Здрастуй,","світе!";

echo "Здрастуй" " ","світе!";

echo Здрастуй,  світе!;

 

echo ' 'Здрастуй,  світе! ';

123

3драстуй,   світе!

Здрастуй, світе!

Здрастуй,   світе!

Видасть повідомлення про помилку, оскільки рядок не поміщений в лапки.

Здрастуй,  світе!

 

Обробка операторів виводу

У сценарії, що виводить рядок Здрастуй, світе !, як і в більшості інших сценаріїв, оператори виводу використовуються для генерування коду HTML, який відображається в браузері. В цьому випадку відбувається наступне:

1. Інтерпретатор РНР виконує оператори РНР, перенаправляє результат роботи Web-серверу, який, у свою чергу, відправляє їх клієнтському браузеру. РНР ніяк не обробляє HTML-код, а тільки передає інформацію, отриману в результаті виконання РНР-коду.

2. Web-браузер інтерпретує отриману від інтерпретатора РНР інформацію як HTML-код і виводить її на Web-сторінці.

На відміну від РНР він обробляє тільки HTML-код і не "розуміє" коду РНР.

Як приклад розглянемо оператор виведення echo, що відображає рядок Здрастуй, світе!:

echo "<р>3драстуй, світе!</р>"

Він виводить все, що знаходиться в подвійних лапках (""). Обробка цього РНР-коду буде виконана в два етапи:

1. Результатом виконання оператора echo буде наступний рядок:

<р>3драстуй, світе!</р>

Оскільки інтерпретатор РНР не розуміє HTML-код, то дескриптори <р> і </р> ніяк оброблені не будуть, а сприйматимуться як символи текстового рядка.

2. Отримавши рядок, Web-браузер, у свою чергу, інтерпретує символи <р> і < /р> як відкриваючий і закриваючий дескриптори HTML для форматування тексту і виводить його у вікні браузера відповідним чином:

Здрастуй, світе!

При цьому самі дескриптори не відображаються. Для того, щоб побачити, що саме було передане браузеру Web-сервером, можна відобразити початковий код HTML- сторінки, який для приведеної сторінки  матиме наступний вигляд:

<р>3драстуй, світе!</р>

Використання спеціальних символів в операторах виводу

Оператор echo спеціальним чином обробляє деякі символи, які істотно впливають на отримуваний результат. Одним з них є символ переходу на новий рядок \n.

Розглянемо наступний приклад:

echo "<р>3драстуй,\n свте!</р>"

Символ \n у операторі echo означає перехід на новий рядок, проте це не відображається в браузері. Для переходу до нового рядка на Web-сторінці необхідно використовувати усередині рядка спеціальний дескриптор <br>. Розглянемо наступний приклад:

echo "<р>3драстуй,<br> свте!</р>"

В цьому випадку в браузері буде виведено два рядки.

У табл. 2 приводяться відмінності результатів виконання оператора echo на різних етапах: після його обробки інтерпретатором РНР і в Web-браузері.

* Перший стовпець містить приклад фрагмента коду з оператором echo. * У другому наводиться результат його обробки інтерпретатором РНР (тобто те, що передається браузеру).

* У третьому — результат, що відображається в самому браузері.

Таблиця 2. Етапи обробки сторінки з РНР-кодом

Приклад оператора echo

Результат обробки

інтерпретатором РНР

Результат відображення

у браузері

echo "Здрастуй,  світе!";

echo "Здрастуй";

echo "світе!";

echo "Здрастуй,\nсвіте!";

 

echo "Здрастуй,<br>світе!";

 

echo "Здрастуй,<br>\nсвіте!";

Здрастуй,  світе!

Здрастуй, світе!

 

Здрастуй

світе!

Здрастуй,<br>світе!

 

Здрастуй,<br>

свите!

Здрастуй,  світе!

Здрастуй, світе!

 

 

Здрастуй,  світе!

 

Здрастуй 

світе!

Здрастуй 

світе!

Ми бачимо наявність пропуску в результуючих виразах.

Так, в першому прикладі пропуск міститься в текстовому рядку, що виводиться оператором echo. Отже, цей символ міститиметься і після обробки інтерпретатором РНР, і в браузері.

У другому випадку виконуються два різних виклики оператора echo. Причому, оскільки жодний з рядків, що виводиться, не містить пропуску, в результуючих виразах він також відсутній.

У третьому прикладі при відображенні тексту у вікні браузера буде виведений пропуск, хоча в рядку Здрастуй\nсвіте! його немає. Це пов'язано з тим, що спеціальний символ \n ніяк не інтерпретується браузером (тобто не здійснюється перехід на новий рядок), а просто замінюється на пропуск.

!!Необхідно сміливо використовувати символ переходу рядка \n, оскільки інакше початковий HTML-код міститиме дуже довгі рядки.

РНР виводить в точності те, що йому указують. Інтерпретатору РНР не важливо, де згодом відображатиметься інформація — у вікні браузера або просто на екрані. Це наша турбота. Тому, якщо розробляється додаток для Web, то рядки, що виводяться, повинні містити дескриптори HTML, а якщо ж мова РНР використовується для написання сценарію, незалежного від Web, то в цьому випадку інформацію краще виводити у вигляді звичайного тексту.

Документування сценаріїв

Документування сценаріїв є дуже важливим етапом при розробці додатків.

Коментарі дозволяють описати, що саме і як виконує сценарій. Чим більше, складніше  код сценарію, тим більшого значення набуває документування.

Коментарями (comments) є замітки, що вставляються в код сценарію. При цьому вони ігноруються інтерпретатором РНР і призначені для користувачів. Коментарі в сценарії можуть бути довільної довжини. Їх загальний синтаксис має наступний вигляд:

/* текст коментарів

ще коментарі */

Коли інтерпретатор РНР зустрічає в сценарії символи початку коментаря (/*), весь подальший код ігнорується аж до символів * /.

Дуже часто розробники додають коментарі в початок сценаріїв, щоб дати про нього коротку інформацію і вказати, які функції він виконує. Розглянемо наступний приклад:

/*        ім'я сценарію:       hello.php

           опис:              відображає рядок "Здрастуй, світе!"

                                          на Web-сторінці

           автор:                    Програміст Джон

           дата створення:      02/01/03

          дата зміни:    03/15/03

*/

Слід зазначити, що інтерпретатор РНР не включає коментарі в HTML-код, що передається згодом браузеру, так що користувач їх побачити не зможе.

Іноді дуже корисно використовувати коментарі як заголовок розділів коду, наприклад:

/* Перевіряє, чи виповнилося покупцеві 18 років */

/* Зберігає інформацію в базі даних */

/* Здійснює пошук вказаного файлу */

!!!Неможливо  використовувати в сценарії вкладені коментарі: в цьому випадку код РНР працюватиме некоректно.

Розглянемо наступний приклад:

/* Перший коментар

/* Вкладений коментар */

*/

Знайшовши символи початку коментаря, /*, інтерпретатор РНР ігноруватиме код до тих пір, поки не зустріне символи */. Тому буде проігнорований і другий набір символів /*. Таким чином, буде закоментовано все, що знаходиться між першими символами /* і */. Дійшовши до другого набору символів */, інтерпретатор РНР видасть повідомлення про помилку, оскільки він не інтерпретує їх як символи закінчення коментаря.

Змінні в сценаріях РНР

Змінні та їх імена

Змінні(variable) — це контейнери, в яких міститься інформація.

Спочатку задається ім'я змінної, а потім в цій змінній можна зберігати інформацію. Наприклад, можна назвати змінну $age і записати в неї число 21. Після привласнення змінній деякого значення її  можна використовувати в сценарії. При використанні мови РНР для Web змінні часто застосовуються для зберігання інформації, яку користувачі вводять у формах HTML, наприклад імені користувача.

Тоді цю змінну можна використовувати в сценарії або навіть створити персональну Web-сторінку з відображенням імені користувача, наприклад, "Вітаю Вас, Сергію Петренко!"

Імена змінних, або ідентифікатори, повинні бути осмисленими. Сценарії, де всі змінні називаються  $varl, $var2, $var3 і т.д,  не вдалі, оскільки  з часом можуть виникнути проблеми із з'ясуванням сенсу кожною змінною. Інтерпретатору РНР не буде важко і він не буде плутатися, але люди, які спробують розібратися в сценарії, вимушені будуть витрачати зайвий час. Тому краще створювати сценарії якомога простіше для розуміння, використовуючи осмислені імена змінних, наприклад:

         $f irstName $directory_name або $DateOfBirth.

Приведемо основні правила іменування змінних:

1. Всіх імен змінних починаються з символу долара ($). Цей символ в мові РНР означає початок імені змінної.

2. Імен змінних можуть бути будь-якої довжини.

3. Імен змінних можуть включати тільки букви, цифри і символи підкреслення.

4. Імена змінних повинні починатися з букви або символу підкреслення. Вони не можуть починатися з цифри.

5. Символи верхнього і нижнього регістрів розрізняються. Імена

$ f а vо r i t e с i t у і $ F а v о r i t e с i t у означають різні змінні. Якщо інформація зберігається в змінній $FavoriteCity, ви не зможете пізніше в сценарії дістати доступ до цієї інформації, використовуючи ім'я змінної

$ f а vо r i t e C i t у.

Приведемо приклади допустимих імен змінних:

         $_name

         $first_name

         $name3

         $name_3

Наступні імена змінних приведуть до генерації повідомлень про помилки:

         $3name

         $name?

         $first+name

         $first.name

Перше ім'я неприпустимо, тому що воно починається не з букви або символу підкреслення, як вимагають правила іменування. Три останніх імені недопустимі, оскільки окрім цифр, букв і символу підкреслення в них містяться інші символи.

Вибір імені змінною залежить від особистих переваг. Найчастіше для створення осмислених імен змінних використовується символ підкреслення або прописні букви.

Ці найбільш популярні стилі формування імен змінних проілюстровані на наступному прикладі:

         $first_name

         $firstName

Опис змінних на основі одного з двох приведених стилів полегшує читання сценаріїв.

Звичайне ім'я починається з символу нижнього регістра. Проте головне правило вибору імен змінних — їх узгодженість.

Вибравши стиль, бажано використовувати його у всьому сценарії.

Змінні можуть містити числа або рядки символів. Змінна може існувати або не існувати, містити або не містити інформацію. Причому це не одне і те ж. Навіть якщо змінна в даний час не містить ніякої інформації, вона може існувати так само, як існує полиця шафи, навіть якщо вона порожня. Звичайно, якщо змінна містить інформацію, вона повинна існувати.

Створення змінних та відображення їх значень

Змінна автоматично створюється при збереженні в ній деякої інформації.

Щоб задати значення змінної, потрібно використовувати знак рівності (=) . Наприклад, наступні чотири оператори РНР привласнюють значення змінним:

         $age = 21;

         $price = 20.52;

         $temperature =-5;

         $name = "Кларк Кент".

Зверніть увагу, що в цих прикладах числа не поміщені в лапки, а ім'я, яке є рядком символів, — поміщено. Лапки в РНР свідчать про те, що символи входять до складу рядка, що обробляється інтерпретатором РНР як окрема одиниця.

Без лапок інтерпретатор РНР не знатиме, що символи утворюють рядок, і буде неправильно їх обробляти.

Всякий раз, коли значення привласнюється неіснуючій змінній, ця змінна створюється. Наприклад, припустимо, що на початку сценарію використовуються наступні оператори РНР:

         $color = "синій";

         $color = "червоний".

Перший оператор створює змінну і привласнює їй значення "синій". Наступна інструкція змінює значення змінної $color на "червоний".

Значення однієї змінної можна привласнювати іншій змінній, як показано в наступних прикладах:

         $namel = "Салі";

         $name2 = "Сюзан";

         $favorite_name = $name2.

Після виконання цих операторів в змінній $ favorite_name міститиметься значення "Сюзан".

Можна створити змінну, не привласнюючи їй ніякого значення. Наприклад, наступна інструкція створює змінну:

         $city = "".

Тепер змінна існує, але не містить ніякого значення.

Відображення  значень змінних

Найшвидший спосіб відображення значення змінної полягає у використанні функції print_r. Приведемо приклад відображення значення змінної:

         $today = "Неділя";

         print_r($today).

Результатом виконання коду буде виведення слова Неділя.

Значення можна також відобразити і за допомогою оператора echo. Результатом виконання коду РНР:

         $age = 21;

         echo $age, -

буде виведення числа 21.

Використання оператора echo вказаного вигляду приводить до того ж результату, що і застосування функції p r i n t _ r . Проте оператор echo дозволяє зробити значно більше: з його допомогою можна вивести декілька елементів, включаючи числа і рядки. Наприклад, припустимо, що в змінній $name міститься значення Кларк Кент. Ви можете включити в HTML-файл наступний рядок:

<р> Ласкаво просимо <?php echo $name?>/p>

Результат  обробки на Web-сторінці виглядатиме так:

Ласкаво просимо, Кларк Кент.

Якщо ви спробуєте використовувати неіснуючу змінну, то згенерується попередження. Наприклад, припустимо, що ви хочете вивести значення змінної $age, але допустили помилку: echo $aeg.

В результаті з'явиться наступне попередження:

Notice: Undefined variable: aeg in c:\testvar.php on line 5

У цьому повідомленні (Notice) мова йде про те, що  використовується невизначена змінна. Воно дозволяє точно визначити рядок з друкарською помилкою.

Створення  сценарію зі змінними

Сценарій, приведений в попередній лекції, відображає на Web-сторінці вітання, використовуючи просту інструкцію echo. Зараз ми теж створимо сценарій, що відображає вітання, але з використанням змінної.

У сценарії з попередньої лекції для виведення вітання використовується наступний фрагмент коду на РНР:

         <?php

         echo "<р>3драстуй, світе! </р>";

         ?>

Приведемо повний текст сценарію, що містить розділ РНР із змінною і що відображає вітання "Здрастуй, світе!":

         <html>

         <head> <title>Cценарій з використанням змінної </title></head>

         <body>

         <?php

                $salutation = "Здрастуй, світе!";

                echo "<p> $salutation </p>";

         ?>

         </body>

         </HTML>

Якщо цей сценарій завантажити в браузер, на Web-сторінці відобразиться вітання Здрастуй, світе!

Змінна зберігає своє значення в процесі виконання всього сценарію, а не тільки в окремому РНР- розділі. Якщо змінній привласнити значення 5 на початку сценарію, то і в кінці сценарію значення цієї змінної буде дорівнювати 5 (якщо, звичайно, ви не привласните їй нового значення). Наприклад, наступний сценарій містить два окремих РНР розділу:

         <html>

         <head><title>Cценарій з використанням змінної </title></head>

         <body>

         <?php

               $salutation = "Здрастуй, світе!";

               echo "<p> $salutation </p>";

         ?>

         <р>Це розділ HTML</p>

         <?php

         echo "<p>$salutation ще раз</р>";

         ?>

         </body>

         </HTML>

Якщо URL-адресу цього сценарію вказати в браузері, то на Web-сторінці відобразиться наступна інформація:

Здрастуй, світе!

Це розділ HTML

Використання констант в сценаріях РНР

Константи та їх створення

Константи подібні змінним. Константам дають імена і привласнюють значення. Проте константи є постійними; їх значення не можуть бути змінені в сценарії.

Після того, як значення константи встановлене, воно вже не міняється. Якщо ввести константу для позначення погоди і встановити для неї значення "сонячна", то згодом змінити це значення не можна.

Створення констант

Константи описуються за допомогою оператора define. Загальний формат цього оператора такий:

define (" ім’я_константи" " значення_константи").

Наприклад, щоб створити константу weather, використовуйте наступний синтаксис: define("weather", "сонячна").

Ця команда створює константу з ім'ям weather і значенням сонячна.

При описі констант, як і при оголошенні змінних, потрібно використовувати осмислені імена. Проте, на відміну від змінних, імена констант не починаються із знаку долара. Відповідно до негласної угоди константам привласнюють імена, що складаються з прописних букв латинського алфавіту, щоб їх можна було легко відрізняти від змінних.

Проте в мові РНР можна використовувати і символи нижнього регістра.

Константа може містити рядок або число. Наступний оператор створює константу з ім'ям INTEREST і привласнює їй значення .01:

define("INTEREST",.01);

Константам не можна давати імена, які є ключовими словами РНР. Ключові слова — це імена операторів РНР, наприклад echo. Їх не можна використовувати як імена констант, тому що інтерпретатор РНР обробляє їх як команди PHP-сценарія, а не як константи.

РНР дозволить описати константу з ім'ям ECHO, не видаючи повідомлення про помилку, але при використанні такої константи виникнуть проблеми. Наприклад, якщо написати оператор  у вигляді: echo ECHO, - інтерпретатор РНР заплутається і виведе повідомлення про помилку. Він розглядає константу як початок наступного оператора echo, але не може знайти аргументи, щоб завершити першу інструкцію echo.

У набір ключових слів РНР включені наступні:

and                                echo                              list

as                                   else                               new

break                                      empty                            or

case                               eval                               print

class                             exit                                require

const                                      for                                 return

continue                         foreach                         switch

declare                            function                        use

default                            global                           var

d i e                                 if                                   while

do                                  include

!! Якщо вас турбує деякий код, який виглядає добре, але відмовляється коректно працювати навіть після численних змін, спробуйте змінити ім'я константи.

Слід зазначити, що ключові слова цілком можна використовувати як імена змінних, оскільки імена змінних починаються з символу $. Проте краще цим не користуватися, оскільки такий стиль може заплутати користувачів, які працюватимуть з цим сценарієм надалі.

Використання констант

Якщо ви знаєте, що значення якої-небудь змінної не змінюватиметься впродовж всього сценарію, раціонально використовувати для його зберігання константу. Застосування константи дозволяє вибрати довге осмислене ім'я і зробити сценарій яснішим. Наприклад, назва PR0DUCT_COST зрозуміліше, ніж число 20.50.

При використанні константи її значення можна встановити тільки один раз — на початку сценарію. Якщо це значення коли-небудь знадобиться змінити, то при використанні константи це можна зробити тільки в одному місці, а не змінювати значення змінної в двадцяти різних місцях сценарію. Одна заміна краща, ніж двадцять. Такий підхід дуже зручний і прискорює роботу.

Використання константи гарантує, що дане значення не буде випадково змінено де-небудь в сценарії.

Припустимо, є сценарій, який переводить значення з однієї валюти в іншу, помножуючи кількість доларів на обмінний курс. Наприклад, якщо курс обміну долара США на канадський долар складає 1.52, можна записати наступний код:

<?php

       $US_dollars = 20.00;

       $CA_dollars = $US_dollars * 1.52;

?>

Якщо припустити, що цей сценарій містить 40 000 рядків коду і що долари США в нім конвертуються в канадські долари в 50 різних місцях. Значить, приведений вище код зустрічається в 50 різних місцях. Оскільки обмінний курс змінюється практично кожного тижня, значить, кожного тижня  доведеться редагувати цей сценарій, уручну змінюючи число 1.52 на інше значення в 50 різних місцях. Погодитеся, що це дуже утомливо.

Набагато краще помістити обмінний курс в змінну, щоб змінювати це значення тільки в одному місці. Тоді сценарій виглядатиме таким чином:

<?php

      $rate = 1.52;

      $US_dollars = 20.00;

      $CA_dollars = $US_dollars * $rate;

?>

Значення $ r а t e можна встановити на початку сценарію, а потім використовувати його в 50 необхідних місцях сценарію. Природно, це зручніша реалізація. Якщо потрібно буде змінити курс, то значення змінної потрібно буде поміняти тільки в одному місці. Наприклад, якщо наступного тижня обмінний курс зміниться на 1.53, вам доведеться змінити лише перший рядок сценарію: $rate = 1.53;

Такий підхід цілком придатний. Проте $ r а t e — не дуже осмислене ім'я.

Припустимо, де-небудь в середині сценарію ви випадково використовуєте наступний код:

$ i n t e r e s t _ r а t e = 20;

$rate = $ i n t e r e s t _ r а t e - l ;

$amount = $principal * $rate;

Тепер усюди після цього фрагмента значення змінної $ r а t e зміниться. Значення 1.52, встановлене на початку сценарію, буде замінено числом 19, яке визначається цим кодом.

Цього можна уникнути, вибираючи більш осмислені імена змінних.          Краще використовувати константу  таким чином:

<? php

      define ("RATE", 1.52);

      $US_dolars = 20;

      $CA_dollars = $US_dollars * RATE;

?>

Тепер ви використовуєте константу RATE, яку не можна змінити в сценарії. Якщо в середині сценарію ви спробуєте додати рядок RATE = 20;

інтерпретатор РНР не дозволить змінити значення. Таким чином, можна уникнути помилок,  які легко допустити при використанні змінних.

Наступного тижня, коли обмінний курс зміниться на 1. 53, цей сценарій доведеться лише злегка відредагувати таким чином:

<? php

       define ("RATE", 1.53);

       $US_dollars = 20

       $CA_dollars = $US_dollars * RATE;

?>

Звичайно, краще використовувати більш осмислене ім'я, наприклад:

define("US_TO_CA", 1.52);

Треба мати на увазі, що помилки, які неможливо допустити при роботі з простими сценаріями, що складаються з десяти рядків, цілком можливі при роботі з сценаріями, що включають тисячі рядків коду, особливо, якщо такий сценарій розробляє ціла команда програмістів.

!!! Якщо ви упевнені, що деяке значення не змінюватиметься впродовж всього сценарію, використовуйте константу. Якщо значення змінюється в процесі роботи сценарію, використовуйте змінну.

Відображення значень констант та вбудовані константи

Значення константи можна вивести за допомогою функції p r i n t _ r таким чином:

print_r(US_TO_CA);

Константу також можна вивести за допомогою оператора echo:

echo US_T0_CA;

Якщо для виведення константи використовується оператор echo, ім'я константи не потрібно брати в лапки. Якщо ім'я константи все ж таки взяти в лапки, то на екрані відобразиться ім'я константи, а не її значення. Константу можна вивести, як показано в попередньому прикладі, або ж з використанням круглих дужок. Можна формувати і складніші команди виводу, розділяючи об'єкти, що виводяться, комами, наприклад:

echo "Курс обміну на канадський долар складає $",US_T0_CA;

В результаті виконання цієї команди буде виведений наступний текст:

Курс обміну на канадський долар складає $1.52

Вбудовані константи

В мові РНР визначено безліч вбудованих констант, які можна використовувати в сценаріях. Для прикладу, значенням константи __ LINE _ є номер поточного рядка, а константа __ FILE __ містить ім'я відповідного файлу. (Вбудовані константи починаються з двох символів підкреслення і закінчуються теж двома символами підкреслення.) Наприклад, можна використовувати команду echo __FILE __;

її результат виглядає таким чином:

c:\program files\apache group\apache\htdocs\testvar2.php.

В мові РНР є і безліч інших вбудованих констант. Наприклад, константи E_ALL і E_ERR0R можна використовувати для управління процесом обробки помилок в РНР.

Робота з даними

Типи даних та їх зв’язок зі змінною

У змінних РНР можна зберігати дані наступних простих типів:

  1. Цілий тип (integer) дозволяє оперувати з цілими числами (без дробової частини), такими як -43, 0, 1, 27 або 543 8. Допустимий діапазон цілочисельних значень в загальному випадку залежить від операційної системи. Проте зазвичай допустимі значення змінних цілочисельного типу лежать в межі від -2 до 2 мільярдів.
  2. Тип з плаваючою крапкою (floating point) дозволяє маніпулювати числами з дробовою частиною, наприклад 5 .24 або 123 .456789. Такі числа часто називаються дійсними (real number) або числами з плаваючою крапкою (flоat).
  3. Рядковий тип (string) забезпечує зберігання послідовності символів, наприклад, привіт. На довжину текстового рядка практично не накладається яких-небудь обмежень.
  4. Булевий (логічний) тип (boolean) включає два значення: TRUE (істина) і FALSE (брехня).

У більшості мов програмування потрібний, щоб перед використанням кожна змінна була заздалегідь пов'язана з типом. Проте мова РНР є набагато менш формальною. У нім немає необхідності явно визначати тип змінних. Інтерпретатор РНР самостійно перевіряє значення, привласнене деякій змінній, і після цього пов'язує з нею відповідний тип даних. При цьому слід зазначити, що процедура автоматичного визначення типу змінної працює достатньо точно.

В міру необхідності в мові РНР автоматично виконується і перетворення типів. Наприклад, в наступному фрагменті необхідне перетворення виконується без щонайменших проблем:

$firstNumber = 1 ; # Зберігається як ціле

$secondNumber = 1.1;# Зберігається як число з плаваючою крапкою

$sum = $firstNumber+$secondNumber;

З формальної точки зору, третій вираз позбавлений сенсу, оскільки в ньому використовуються операнди різних типів. Проте інтерпретатор РНР виконує перетворення цілого значення в значення типу flоаt, і сума двох змінних відбувається без яких би то ні було проблем. Слід відмітити, що вся ця процедура виконується автоматично.

Іноді інтерпретатору РНР не вдається правильно визначити тип змінної. Тоді при її використанні буде видана помилка про використання невірного типу. В цьому випадку потрібно самостійно визначити тип змінної. Така операція називається приведенням типів (type casting). Явно задати тип можна таким чином:

         $newint = ( i n t ) $ v а r l;

         $newfloat = (float)$varl;

         $newstring = (string)$varl;

Значення змінної, розташованої праворуч від символу рівності, привласнюється змінною з вказаним типом, такою, що знаходиться зліва.

Так, значення $varl привласнюється змінною $newint з типом i n t e g e r ( ( i n t ) ).

При приведенні типів необхідно бути дуже уважним, оскільки іноді неуважність  може привести до непередбачуваних результатів. Наприклад, при перетворенні дійсного значення в ціле втрачається дробова частина. Наприклад, якщо в змінній $number міститься значення 1. 8, то після його перетворення в ціле — $newnumber = (int) $number — в змінній $newnumber міститиметься значення 1.

Визначити тип змінної можна за допомогою функції

var_dump ($myvariable);

Наприклад, наступний вираз дозволяє визначити тип змінної $checkvar: var_dump($checkvar);

Як результат буде отримано вираз i n t (27), що свідчить про те, що в змінній $checkvar міститься цілочисельне значення 27.

Типи даних f l о а t  і  i n t e g e r є числовими. Ініціалізацію змінних цих типів можна здійснити таким чином:

         $intvar =3;

         $floatvar =9.3;

При цьому інтерпретатор РНР автоматично розмістить задані значення в оперативній пам'яті з урахуванням їх типу.

Виконання математичних операцій

Мова РНР дозволяє виконувати над числовими змінними різні операції. При цьому необхідно задати два операнди і відповідний символ математичної операції.

Наприклад, операцію складання (+) можна виконати таким чином:

         1+2

         Те ж саме можна здійснити і із змінними:

         $varl + $var2 ;

При використанні чисел в математичних операціях їх не слід брати в лапки. Інакше вони розглядатимуться як рядкові змінні, над якими не можна виконувати необхідні арифметичні операції. Проте на відміну від інших мов  програмування в РНР при потребі рядки автоматично перетворяться в числовий формат. Наприклад:

         $varl = " 1 " ;

         $var2 = 2;

         $total • $varl+$var2;

Формально змінні $varl і $var2 підсумувати не можна, оскільки в $varl міститься текстовий рядок. Проте при обробці цього виразу інтерпретатор РНР автоматично перетворить рядок " 1" в числове значення 1 і коректно виконає цю операцію.

У наступному фрагменті також виконується автоматичне перетворення текстового рядка в число, проте кінцевий результат вже не так очевидний:

         $varl = "х";

         $var2 = 2;

         $total = $varl+$var2;

Оскільки РНР не може перетворити символ "х" в числове значення, то при виконанні складання замість нього використовується значення 0.

Таким чином, результат складання змінних $varl і $var2 буде рівний 2. Перетворення типів далеко не завжди приводить до отримання бажаних результатів. Безумовно, автоматичне приведення типів є дуже зручним і дозволяє заощадити масу зусиль. Проте потрібно дотримуватися обережності, оскільки воно може привести до отримання непередбачених результатів, як показано в попередньому прикладі.

Слід зазначити також, що іноді інтерпретатору РНР не вдається коректно обробити вирази, які зрозумілі людині. Наприклад:

         $varl = "2,000";

         $var2 = 2;

         $total = $varl+$var2,-

Хоча людині і зрозуміле призначення коми в значенні першої змінної, інтерпретатору РНР — ні. Він перетворить рядок "2,000" в числове значення 2, і в результаті після виконання складання в змінній $ t о t а l міститиметься значення 4.

У табл. 1 приведені основні математичні операції мови РНР.

Декілька математичних операцій можна виконувати одночасно.

Наприклад, в наступному виразі використовується відразу три операції:

$ t о t а l = 1+2*3+1;

Таблиця 1. Математичні операції РНР

О п е р а ц і я

О п и с

+

Складання двох чисел.

-

Віднімання другого числа з першого.

*

Множення двох чисел.

/

Ділення першого числа на друге.

%

Залишок від ділення (або ділення по модулю). Наприклад, в результаті обчислення виразу $а = 13%4 в змінній $а міститиметься значення 1.

Порядок виконання операцій дуже важливий, оскільки від цього залежить кінцевий результат. У мові РНР спочатку виконуються операції множення і ділення і лише потім складання і віднімання. При рівному пріоритеті операцій дії виконуються зліва направо.

Так, в приведеному вище прикладі значення змінної $ t о t а l стає рівним 8.

         $ t о t а l = 1+2*3+1 #спочатку виконується множення

         $ tо t а l = 1+6+1 #потім - ліва операція складання

         $total = 7+1 #потім - складання праворуч

         $ tо t а l = 8

Змінити послідовність виконання арифметичних операцій можна за допомогою круглих дужок. Тоді математичні операції в дужках виконуватимуться в першу чергу.

Наприклад, попередній вираз можна переписати в наступному вигляді:

$ tо t а l = (l+2)*3+l;

Після виконання всіх математичних перетворень в змінній $ tо t а l міститиметься значення 10:

         $ t о t а l = (l+2)*3+l #спочатку виконується складання в дужках

         $ t о t а l = 3*3+1 #потім множення

         $result = 9+1 #й нарешті складання

         $result = 10

Порядок обчислень в дужках відповідає загальним правилам виконання арифметичних операцій.

Інкрементування та декрементування. Вбудовані математичні функції

Збільшити значення змінної на 1 можна таким чином:

$counter = $counter+l;

Проте для цього можна скористатися і скороченою конструкцією мови РНР: $counter++;

Наприклад, розглянемо вирази:

         $counter=0;

         $counter++;

         echo $counter;

В результаті в змінній $counter міститиметься значення 1 (що і буде виведено на екран). Так само можна виконати і віднімання:

$counter--;

Для збільшення значення змінної на 1 можна скористатися ще одним виразом: "+=1". За допомогою такої конструкції значення змінної можна змінити довільним чином. Наприклад:

         $counter+=2;

         $counter-=3;

         $counter*=2;

         $counter/=3;

У приведених прикладах виконується збільшення значення змінної $counter на 2, його зменшення на 3, множення на 2 і ділення на 3 відповідно.

Складніші математичні обчислення можна виконувати за допомогою вбудованих функцій. Наприклад, якщо потрібно знайти квадратний корінь деякого значення, немає необхідності створювати нову функцію, оскільки вона вже існує. Наприклад:

$rootvar = sqrt(91);

$rootvar = sqrt($number);

У першому виразі обчислюється квадратний корінь числа 91, а в другому — квадратний корінь значення, що міститься в змінній $number.

Для округлення дійсного числа до найближчого більшому цілому можна скористатися функцією:

$upnumber = ceil(27.63);

Результатом цього виразу буде 28. Існує аналогічна функція, яка округляє дійсне значення до найближчого меншого цілого. Наприклад:

$downnumber = floor(27.63);

В цьому випадку функція f l о о r () поверне значення 27.

В мові РНР визначене і багато інших математичних функцій: для виконання простих операцій, наприклад, пошуку максимуму, мінімуму або генерування випадкових чисел або більш за складних— обчислення синуса, тангенса або перетворення чисел в двійковий, або восьмирічний формат.

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

Основна

  1. Глинський Я.М., Ряжська В.А. Інтернет. Сервіси, HTML i web-дизайн:Навч. посіб.-2-е вид., доп.-Львів:Деол; СПД Глинський,2003 .-192 с.-966-7449-22-Х. Шифр: 32.973

  2. Глушаков С.В., Жакин И.А., Хачиров Т.С. Программирование Web-страниц .-Харьков: Фолио,2005 .-390 с.-Учебный курс .-966-03-2690-4. Шифр: 32.973

  3. Корпоративные порталы на основе XML и Web-служб/под. ред. д. т. н., проф. А.Д. Иванникова .-Москва:КУДИЦ-ОБРАЗ,2004 .-368 с.-5-9579-0009-5. Шифр: 32.973

  4. Дунаев В.В. Основы WEB-дизайна. Самоучитель .-С-Петербург:"БХВ-Петербург",2006 .-512 с.-(ил.) .-5-94157-743-5. Шифр: 32.973

  5. Коггзолл Дж. PHP 5. Полное руководство .-Москва:Вильямс,2006 .-752 с.-5-8459-0953-8 Шифр: 32.973

  6. Колисниченко Д.Н. Самоучитель РНР 5 .-Издание-3-е .-С-Петербург:Наука и Техника,2006 .-576 с.-(ил.) .-5-94387-246-9.Шифр: 32.973

  7. Конверс, Тим и др. PHP 5 и MySQL .Библия пользователя.:Пер. с англ.-Москва:Из-й дом "Вильямс",2006 .-1216 с.-5-8459-1022-6. Шифр: 32.973

  8. Крамер Э. HTML: наглядный курс Web-дизайна .-Москва:Из. дом "Вильямс",2001 .-304 с.-(ил.) .-5-8459-0143-Х. Шифр: 32.973

  9. Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5. Практика создания WEB- сайтов .-С-Петербург:"БХВ-Петербург",2006 .-960 с.-(ил.) .-5-94157-552-1. Шифр: 32.973.

  10. Леонтьев Б. Web-дизайн. Тонкости, хитрости и секреты .-Москва:СОЛОН-Пресс,2003 .-640 с.-(ил.) .-5-98003-024-7. Шифр: 32.973

  11. Мерсер Д.У., Кент А., Новицки С., Мерсер Д., Скуайер д., Чой В.К.

    PHP 5 для начинающих:Пер. с англ.-Москва:Вильямс,2006 .-848 с.-5-8459-1039-0. Шифр: 32.973.

  12. Мэрдок К.Л. Java Script: наглядный курс создания динамических Web-страниц .-Москва:Изд. дом "Вильямс",2001 .-288 с.-5-8459-0156-1. Шифр: 32.973.

  13. Нидерст Дж. Web-мастеринг для профессионалов=Настольный справочник .-С-Петербург:Питер,2001 .-576 с.-5-272-00118-4. Шифр: 32.973.

  14. Питтс Н. XML за рекордное время .-Москва:Мир,2000 .-444 с.-(ил.) .-5-03-003342-4. Шифр: 32.973.

  15. Старыгин А. XML: разработка Web-приложений .-С-Петербург:БХВ-Петербург,2003 .-592 с.-(ил.) .-5-94157-239-5. Шифр: 32.973.

  16. Хольцшлаг М. Языки HTML и CSS: для создания Web-сайтов:Официальный учебный курс .-Москва:"Издательство ТРИУМФ",2006 .-304 с.-5-89392-146-1. Шифр: 32.973.

  17. Храмцов П.Б., Брик С.А., Русак А.М., Сурин А.Н. Основы WEB- техноло-гий:Учебное пособие .-2-е изд., испр.-Москва:Интернет-университет Информац.Технолог.,БИНОМ, Лаборатория знаний,2007 .-374 с.-(ил.) .-Основы информационных технологий .-978-59556-0100-7.

  18. Будилов В.А. РНР-5. Эксперсс-курс.- СПб.: БХП – Петербург, 2005.-240 с.

  19. Антоненко В.М., Терейковський І.А., Терейковська  Л.О «Сучасні Internet технології. Курс лекцій та лабораторний практикум.   Частина I.  Основи Web – дизайну ». – Ірпінь: Академія ДПС України, 2007. – 232 с.

Додаткова

  1. Вандер Вер Э. JavaScript для чайников. К.: Издательский дом «Вильямс», 2001. – 304 с.

  2. Гарнаев А., Гарнаев С. Web программирование на Java и JavaScript.  - Санкт-Петербург:    БХВ-Петербург, 2002.– 1040 с.

  3. Кастаньето Д. Профессиональное PHP программирование. СПб.: Символ-Плюс, 2001. - 912 с.

  4. Колбери Р. Освой самостоятельно CGI за 24 часа. — М.: Издательский дом "Вильямс", 2001.— 368 c.

  5. Костарев А. РНР в Web-дизайне. С.-Петербург.: ВНV, 2002. – 592 стр.

  6. Матросов А., Сергеев А., Чаунин М. HTML 4.0. – Санкт-Петербург: БХВ-Петербург, 1999. - 672 с.

  7. Паттерсон Л. и др. Использование HTML 4.0. -  К.-М.-СПб.: Издат. Дом “Вильямс”. – 1998 – 384c.

  8. Терейковський І.А. Підвищення ефективності функціонування корпоративних Web – сайтів. К.: Вісник КНУТД №4 2004 с.41-46.

  9. Холл М., Браун Л. Программирование для Web. К.: Издательский дом «Вильямс», 2002. – 1264 с.

  10. http://www.postroika.ru

  11. http://www.siteforum.ru

З повагою "ІЦ “KURSOVIKS”!