Материал: Опорний кнспект

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

2. Використання php

PHP (англ. PHP: HypertextPreprocessor— «PHP: препроцесоргіпертексту», англ. PersonalHomePageTools — «Інструменти для створення персональних веб-сторінок») — мова програмування, створена для генерування HTML-сторінок на веб-сервері і роботи з базами даних. У даний час підтримується переважною більшістю хостинг-провайдерів. Входить в LAMP — «стандартний» набір для створення веб-сайтів (Linux, Apache, MySQL, PHP (Python або Perl)).

Група розроблювачів PHP складається з великої кількості людей, що добровільно працюють над ядром і розширеннями PHP і суміжними проектами, такими як PEAR або документація мови.

В області програмування для Мережі, PHP — одна з най популярніших скриптових мов (поряд з JSP, Perl і мовами, використовуваними в ASP.NET) завдяки своїй простоті, швидкості виконання, багатій функціональності й поширенню вихідних кодів на основі ліцензії PHP. PHP відрізняється наявністю ядра й модулів, що підключають, «розширень»: для роботи з базами даних, сокетами, динамічною графікою, криптографічними бібліотеками, документами формату PDF і т.п. Будь-хто бажаючий може розробити своє власне розширення й підключити його. Існують сотні розширень, однак у стандартну поставку входить лише кілька десятків, що добре зарекомендували себе. Інтерпретатор PHP підключається до веб-серверу або через модуль, створений спеціально для цього сервера (наприклад, для Apache або IIS), або як CGI-додаток.

Крім цього, він може використовуватися для рішення адміністративних завдань в операційних системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X і AmigaOS. Однак у такій якості він не одержав поширення, віддаючи перевагу Perl, Python і VBScript.

У цей час PHP використовується сотнями тисяч розроблювачів. Порядку 20 мільйонів сайтів повідомляють про роботу з PHP, що становить більше п'ятої частки доменів Інтернету.

Один з найпоширеніших додатків будь-якої мови створення серверних сценаріїв - обробка HTML-форм. Вивчення PHP почнемо з реалізації форми замовлення для вигаданої компанії із продажу компакт дисків. Всі вихідні коди наведені нижче.

Приклад 1: Форма замовлення.

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

Вихідний html-код нашого замовлення:

<html>

<head>

<title>Форма замовлення</title>

</head>

<body>

<h1>Продаж CD</h1>

<h2>Форма замовлення:</h2>

<form action="cd.php" method=post>

<table border=0>

<tr bgcolor=#cccccc>

<td width=150>Товар</td>

<td width=15>Кількість</td>

</tr>

<tr>

<td>CD-R</td>

<td align=center><input type="text" name="cdr" size=3 maxlength=3></td>

</tr>

<tr>

<td>CD-RW</td>

<td align=center><input type="text" name="cdrw" size=3 maxlength=3></td>

</tr>

<tr>

<td>Футляри для CD</td>

<td align=center><input type="text" name="fut" size=3 maxlength=3></td>

</tr>

<tr>

<td colspan=2 align=center><input type=submit value="Зробити замовлення"></td>

</tr>

</table>

</form>

</body>

</html>

Результат:

Рисунок 1 - Форма замовлення

По-перше, дії, що виконуються формою, привласнене ім'я PHP-сценарію, що буде обробляти замовлення клієнта. У загальному випадку значенням атрибута ACTION є URL-адреса, що буде завантажуватися при натисканні користувачем у форму й буде відправлятися по цій URL-адресі з використанням методу, зазначеного в атрибуті METHOD: або GET (дані приєднуються в кінець URL-адреси), або POST (дані відправляються у вигляді окремого пакета).

По-друге, варто звернути увагу на імена полів форми - cdr, cdrw й fut. Ці імена будуть знову використовуватися в PHP-сценарії. Тому полям форми важливо привласнювати осмислені імена, які легко запам'ятати при написанні PHP-сценарію.

Приклад 2: Обробка форми

Для обробки форми буде потрібно створити сценарій, згаданий в атрибуті ACTION дескриптора FORM і названий cd.php. У текстовому редакторі створюємо цей файл. Для цього вводимо наступний html-код:

<html>

<head>

<title>Замовлення CD. Результати замовлення</title>

</head>

<body>

<h1>Продаж CD</h1>

<h2>Результати замовлення:</h2>

</body>

</html>

Це все є звичайним HTML-текстом. Додамо в сценарій PHP-код.

3. Вбудовування php в html

Під заголовком <h2> файлу вводимо наступні рядки:

<?

echo "Замовлення оброблене.";

?>

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

Малюнок 2. Результати замовлення

Зверніть увагу, як написаний PHP-код вбудовується у звичайний HTML-файл. У браузері ви повинні побачити наступні рядки коду:

<html>

<head>

<title> Замовлення CD. Результати замовлення </title>

</head>

<body>

<h1>Продаж CD</h1>

<h2>Результати замовлення:</h2>

<p> Замовлення оброблене </p>

</body>

</html>

Рядків PHP-коду не видно. Це відбувається тому, що інтерпретатор PHP переглянув сценарій і замінив його рядками виводу. Отже, із середовища PHP можна створити чистий код HTML, придатний для перегляду в будь-якому браузері - інакше кажучи, браузер, що застосовується користувачем не обов'язково повинен розуміти PHP.

Тепер код у розглянутому файлі складається із чотирьох частин:

  • HTML;

  • Дескриптори PHP;

  • Оператори PHP;

  • Пробіли.

У нього можна додати також ще одну частину:

  • Коментарі.

Більшість рядків у наведеному прикладі - усього лише простий HTML-код.

4. Додавання динамічного вмісту

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

Розглянемо простий приклад. Замінимо PHP-код у файлі cd.php на наступний код:

<?

echo "Ваше замовлення було прийнято в ";

echo date("H:i, j F");

echo "<br>";

?>

У цьому коді убудована PHP-функція date() використовується для повідомлення клієнтові дати й часу обробки замовлення. Це значення буде змінюватися при кожнім виконанні сценарію. Вивід, отриманий у результаті одного такого виконання сценарію показаний на рисунку 3.

Рисунок 3. Виведення дати й часу

Виклик функції

Поглянемо на виклик функції date(). Це загальна форма виклику функції. PHP має велику бібліотеку функцій, які можна використовувати при розробці web-додатків. Виклик функції: date("H:i, j F").

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

Функція date()

Аргумент, переданий у функцію date(), повинен бути рядком формату, що задає необхідний стиль виводу. Кожна буква в рядку представляє частину рядка дати й часу. Н представляє години в 12-годинному форматі, i - хвилини із провідним нулем, коли потрібно, j - день місяця без провідного нуля, S представляє звичайний суфікс, а F - рік, представлений чотирма цифрами.

5. Доступ до змінних форми

Весь зміст використання форми замовлення полягає в одержанні інформації про замовлення клієнта. Одержання докладної інформації про те, що ввів клієнт, реалізується в PHP дуже просто.

Усередині PHP-сценарію до кожного з полів форми можна одержати доступ як до змінної, що має те ж ім'я, що й у поля форми. Розглянемо приклад.

Додамо наступні рядки в нижню частину PHP-сценарію:

echo "<p>Ваше замовлення було таким:";

echo "<br>";

echo $cdr." CDR-диск(ов)<br>";

echo $cdrw." CDRW-диск(ов)<br>";

echo $fut." футляр(ов)<br>";

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

Рисунок 2.4 - Вивід замовлення

Змінні форми

В остаточному підсумку, дані зі сценарію попадають в PHP-змінні. Імена змінних в PHP легко розпізнати, оскільки всі вони починаються із символу долара ($). (Пропуск символу долара - ще одна розповсюджена помилка програмування). Існують два способи доступу до даних форми через змінні.

У цьому прикладі для посилання на змінні форми використовується скорочений стиль. При використанні цього стилю можна, наприклад, просто почати роботу зі змінної, скажемо, $CDR.

Другий стиль полягає в одержанні змінних форми через один з 2-х масивів, що зберігаються в змінних $HTTP_POST_VARS й $HTTP_GET_VARS. Один із цих масивів буде містити докладну інформацію про всі змінні форми. Вибір використовуваного масиву залежить від методу відправлення форми: POST або GET.

Скорочений стиль можна застосовувати тільки при установці в значенні "On" директиви register_globals у файлі php.ini. Це - настроювання за замовчуванням у стандартному файлі php.ini.

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

Конкатенація рядків

У сценарії оператор echo застосовувався для виводу значень, уведених користувачем у кожному з полів форми, за якими ішов деякий пояснювальний текст. Якщо уважно придивитися до операторів echo, можна помітити, що між ім'ям змінної й наступним за ним текстом міститься крапка(.), наприклад:

echo $CDR. " CDR-диск(ов)<br>";

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

echo "$CDR CDR-диск(ов)<br>";

Цей оператор еквівалентний першому. Обидва формати припустимі й використання кожного з них - особиста справа кожного.

Змінні й літерали

Змінні й рядки, поєднувані в кожному з операторів echo, - різні поняття. Змінні - це символи (позначення) для даних. Рядки ж - це і є дані. Фрагмент неструктурованих даних у програмі подібній розглянутій називається літералом, на відміну від змінної. $CDR - це змінна, тобто символ, що представляє уведені клієнтом дані. З іншого боку, "CDR" - це літерал. Він приймається так, як виглядає.

Фактично, в PHP існують два види рядків - з подвійними лапками й одинарними лапками. PHP буде намагатися оцінити рядки, укладені в подвійні лапки. Рядки, укладені в одинарні лапки, будуть оброблятися, як справжні літерали.

Лекція 15

Тема: Сценарії. Мова програмування JavaScript.

План

  1. Поняття об’єктної моделі.

  2. Властивості, методи та події

  3. Сценарії

1. Поняття об'єктної моделі

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

Розглянемо поняття об'єктної моделі як способу взаємодії між HTML-кодом веб-сторінки та браузером. Об'єктна модель докумен­та (Document Object Model, DOM) — це засіб для роботи зі струк­турою документа, а також з елементами сторінки в кодах HTML та у сценаріях. Вона забезпечує реалізацію технології динамічної HTML, яка ґрунтується на класичній HTML і використовує табли­ці каскадних стилів та мови сценаріїв. Об'єктна модель документа є основою для того, щоб зробити елементи сторінки динамічно керованими під час її відтворення у вікні браузера.

Об'єктна модель описує кожний HTML-документ як набір окре­мих об'єктів — зображень, абзаців, списків і т. д. до найнижчо­го рівня, навіть до окремих символів. Кожний об'єкт може мати властивості, визначені у вигляді атрибутів. Наприклад, абзац <Р> має атрибут вирівнювання <ALIGN>, який може набувати значень left, right або center. В об'єктній моделі атрибут називають властивістю об'єкта. Об'єкт має також свої методи і події, які можуть відбуватися з ним і впливати на нього. Наприклад, зобра­ження <IMG> має подію OnMouseOver, яка відбувається тоді, коли користувач розміщує над ним вказівник миші. Можна керувати станом об'єктів, використовуючи методи з деякого набору стан­дартних методів. Все це й складає концепцію DOM як платформо-незалежного програмного інтерфейсу, який дає змогу програмам та скриптам керувати вмістом HTML-документів, змінювати їх структуру та оформлення.

Ми розглянули об'єкти HTML-документа, зокрема теги з тексто­вим наповненням. Проте браузер як програма також має свою об'єктну модель, при цьому моделі різних браузерів суттєво відрізняються. Браузер і документи, завантажені в нього, створю­ють ієрархічно організований набір об'єктів.

Сьогодні є можливість керувати як вмістом HTML-документів, так і браузером. Наприклад, для браузера Internet Explorer за допомогою об'єктно-орієнтованих мов JScript та VBScript можна писати програми, які називають сценаріями (скриптами), і встав­ляти їх у HTML-код. Такі сценарії розміщують у спеціальних тегах <SCRIPT> І </SCRIPT>.

2. Властивості, методи та події

Об'єкти мають фіксовані імена і певні властивості. Наприклад, вікну браузера відповідає об'єкт Window, а HTML-документу, завантаженому в браузер, — об'єкт Document. Звичайні власти­вості — це змінні з фіксованими іменами, які мають певні зна­чення. Одні властивості можна лише переглядати, інші можна змінювати. Для доступу до властивості об'єкта у мовах сценаріїв використовують такий синтаксис:

об'єкт.властивість

Наприклад, значенням властивості Document.Location є URL-адреса HTML-документа.

Властивістю об'єкта може бути інший об'єкт. При цьому перший об'єкт називають також батьківським (parent), а другий — на­щадком (child). Якщо ми хочемо звернутися до властивості або методу об'єкта Object2, який міститься в об'єкті Objectl, то слід записати:

Objectl. Object2.властивість

Object1.Object2.метод()

Наприклад, об'єкт Document є нащадком об'єкта Window. Як­що ми хочемо щось записати в документ, завантажений у поточ­не вікно, то можемо скористатися для цього методом Write(). Наприклад:

window.Document.Write ("Текст")