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

Н. В. Граб, м. Золотоноша, Черкаська обл.


У статті представлено програмне забезпечення для встановлення і тестування локального сервера. Розглянуто взаємодію між мовою розмітки гіпертексту HTML, серверною мовою програмування PHP, серверною базою даних MySQL і сервером Apache. Показано приклад використання мови PHP не лише для створення динамічних сайтів, а й для підготовки до олімпіад і конкурсів з програмування на основі веб-сайту

 

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

 

Як правило, документи WWW зберігаються на постійно підключених до Інтернету комп’ютерах — веб-серверах. Зазвичай на чеб-сервері розміщують не окремий документ, а групу документів. Таку групу називають чеб-вузлом або веб-сайтом. Окремий документ World Wide Web називають веб-сторінкою. Для створення веб-сторінок використовують мову HTML (Hyper Text Markup Language — мова розмітки гіпертексту). HTML вказує програмі перегляду, як відображати веб-сторінку. Програма перегляду — це інтерпретатор HTML, вона послідовно переводить оператори мови в елементи зображення.

 

Але поступово із розвитком і розширенням WWW однієї лише розмітки HTML для розробки сайтів виявилося недостатньо. Сучасним сайтам притаманна певна динаміка: дошки оголошень, форуми, чати, швидке оновлення інформації веб-сторінок, лічильники, календарі, капча, голосування, тощо. Тому веб-розробники почали використовувати такі програмні продукти як PHP і MySQL.

 

PHP — це серверна мова програмування, розроблена для World Wide Web. До HTML-сторінки можна приєднати PHP-код, який буде виконуватися при кожному її відвідуванні. PHP-код інтерпретується веб-сервером і генерує HTML-код або інше виведення.

 

Розробка PHP почалась у 1994 році і спочатку здійснювалася лише однією людиною Расмусом Рердорфом. Кількість доменів, у яких використовується PHP, щоденно зростає і про їх поточне число можна дізнатися за адресою http://www.php.net/usage.php.

 

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

 

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

 

З огляду на це, серед головних завдань шкільного курсу інформатики є формування в учнів розуміння принципів організації локальної та глобальної комп’ютерних мереж, вироблення вмінь та навичок роботи із сучасними програмними засобами, призначеними для розробки сайтів з елементами інтерактивності. Цю мету можна реалізувати проведенням курсу за вибором «Основи веб-дизайну» профільного навчання або факультативів, гуртків. Саме на факультативах і гуртках учнівська молодь зможе реалізувати свої творчі потреби у інформаційному просторі сучасних веб-технологій.

 

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

 

Як показує практика, для організації занять достатньо в комп’ютерному класі налагодити мережу Intranet. Усе програмне забезпечення (ПЗ), необхідне для її організації, можна встановити на виділеному комп’ютері локальної мережі.

 

Але у зв’язку із технічними проблемами і застарілим програмним забезпеченням не завжди можна налагодити мережу із сервером у комп’ютерному класі. У такому разі налаштовують локальні сервери на кожному окремому ПК. Найкращими програмами для встановлення локального сервера є Denwer і XAMPP.

 

Перш за все, потрібно наголосити, що PHP — це інтерпретатор, а не компілятор. Компілятори створюють готовий exe- або com-файл, який може виконуватись без самого компілятора. Інтерпретатор такого файлу не створює, тому для виконання програм, написаних на PHP, вам знадобиться інтерпретатор PHP — програма, яка буде виконувати ваші PHP-сценарії. Останню версію PHP можна завантажити за адресою: www.php.net.

 

Оскільки PHP серверна мова програмування, то нам потрібен буде веб-сервер Apache (можна завантажити за адресою: www.apache.org). Зазвичай розробники вибирають Apache, тому що він безкоштовний і працює на декількох операційних системах (Windows, Linux/UNIX, Mac OS).

 

Сайту потрібно десь зберігати свій контент — сторінки, які він буде виводити користувачу. Контент можна зберігати або в файлах, або в базі даних. Найкращою системою управління баз даних (СУБД) для даного випадку є MySQL. Сервер баз даних MySQL можна завантажити за адресою www.mysql.com.

 

Зв’язка Apache + PHP + MySQL у більшості випадків вже налаштована на сервері хостинг-провайдера. Але під час розробки сайту тестувати свою роботу на сервері провайдера не зручно і не вигідно. По-перше, потрібно постійно мати доступ до мережі Інтернет, по-друге, послуги хостинг-провайдера потрібно оплачувати, а розробка сайту може тривати декілька місяців. Тому найкраще для тестування PHP сценаріїв використати локальний комп’ютер і втановити на нього вже готову зв’язку Apache + PHP + MySQL за допомогою програми XAMPP або Denwer. У даних програм є свої переваги і недоліки. Головна перевага — це простота встановлення і керування сервісами. Усе, що Вам потрібно зробити — це встановити Denwer (XAMPP) і запустити його панель керування. Після цього ваш комп’ютер готовий для створення і виконання PHP-сценаріїв. Недолік полягає в тому, що ваші сервіси не надійно захищені. Але ж ви створюєте сервер для тестування сценаріїв, а не сервер для постійного розміщення сайтів, тому безпека для нас не важлива. XAMPP або Denwer потрібен у тому випадку, коли ви ще не купили хостинг для свого сайту. Завантажити XAMPP можна за адресою www.apachefriends.org/en/xampp.html. Denwer можна завантажити за адресою www.denwer.ru.

 

Із встановленням XAMPP труднощів не виникає. Одразу після встановлення запускається панель керування XAMPP (рис. 1), яка дозволяє запустити / зупинити такі мережеві сервіси:

  • Apache — веб-сервер;
  • MySQL — сервер баз даних;
  • FileZilla — найпростіший FTP-сервер;
  • Mercury — найпростіший поштовий сервер.

Для роботи сайту достатньо запустити як мінімум два сервіси: Apache і MySQL.

 

Для запуску однієї із програм потрібно натиснути кнопку Start. Якщо програма вже запущена, то навпроти неї з’явиться надпис Running. Кнопка Admin відкриває сторінку налаштування програм. За допомогою сторінки налаштувань XAMPP ви можете викликати phpinfo() і додаткові утиліти, наприклад, phpMyAdmin (керування базами даних) і Webalizer (статистика сайту) (рис. 2).

 

Пакет Denwer теж легко встановити на локальний комп’ютер. Запустіть раніше завантажений інсталятор Denwer. У вас запитають про те, у яку папку ви хочете встановити комплекс (за замовчуванням використовується C:\WebServers, Вам потрібно лише натиснути Enter, щоб погодитися із цим вибором). У зазначеній папці будуть розміщені всі компоненти системи, а поза нею ніякі файли в подальшому не створюються (крім ярликів на Робочому столі).

 

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

 

Ось і все. Ви можете встановити Денвер (Джентельменський набір веб-розробника (рис. 3)), маючи всього дві клавіші на клавіатурі: Enter і y (щоб ввести Yes).

 

Одразу ж клікайте по створеному інсталятором ярлику Start Denwer (рис. 4) на робочому столі, а потім, дочекавшись, коли всі консольні вікна зникнуть, відкрийте браузер і наберіть в ньому адресу: http://localhost/denwer/ . Виходити із Інтернету при цьому не обов’язково. Якщо все зроблено правильно, то у вікні браузера ви отримаєте інформацію наступного змісту (рис. 5).

 

Денвер пройшов тестування в наступних операційних системах:

  • Windows 95/98/ME;
  • Windows NT/2000/XP/2003;
  • Windows Vista, Windows 7.

 

 

Перш ніж почати писати повноцінні PHP-скрипти, протестуємо раніше встановлене програмне забезпечення. Для цього створимо першу php-програму, яка виводитиме інформаційне повідомлення у вікні браузера, про робочий стан зв’язку Apache + MySQL + PHP. Відкриємо будь-який текстовий редактор, наприклад, блокнот і наберемо в ньому такий текст:

 

<?php

if (mysql_connect("localhost","root",""))

echo "<h1>Зв'язок Apache + MySQL + PHP працює</h1>";

else echo "Сталася помилка";

?>

 

Збережемо файл із назвою test і з розширенням .php: test.php. Якщо ви використовуєте XAMPP, то файл test.php потрібно розмістити в папці htdocs. Для цього потрібно натиснути кнопку Explore на панелі керування XAMPP (рис. 1). Далі перейдіть у папку htdocs і розмістіть тут сценарій test.php.

 

Тепер відкрийте браузер і в стрічці URL (Uniform Resource Locator – єдиний показник ресурсів) введіть адресу: http://localhost/test.php. У вас має з’явитися речення «Зв’язок Apache + MySQL + PHP працює» (рис. 6).

 

Якщо ж сценарій повідомить, що сталася помилка, то це означатиме, що йому не вдалося підключитися до MySQL-сервера. У даному випадку потрібно повернутися до панелі керування XAMPP і переконатися, що MySQL-сервер запущено (рис. 1). Велика ймовірність, що помилка пов’язана саме з цим.

 

Якщо ж Ви використовуєте пакет Denwer, то файл test.php потрібно розмістити в папці www, яка знаходиться у файловій структурі встановленого пакета Denwer (рис. 7).

 

Розглянемо детальніше сценарій test.php. Оскільки HTML-код постійний, то його можна виводити перед і після PHP-тегів, наприклад:

HTML-код

<?

PHP-код

?>

HTML-код.

 

PHP-код обов’язково береться в теги <?php (або <? — скорочений варіант) і ?>. Функція mysql_connect — відкриває з’єднання з MySQL сервером. Її загальний вигляд: resource mysql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]). Ця функція повертає вказівник на з’єднання з MySQL у випадку успішного виконання або false за невдалого. Наступні значення за замовчуванням встановлені для відповідних параметрів: server = ’localhost’, username = ім’я користувача власника процесу сервера і password = пустий пароль. Якщо ви використовуєте технологію TCP/IP, то замість localhost, можна писати 127.0.0.1. Параметр new_link може змусити функцію mysql_connect () відкрити ще одне з’єднання, навіть якщо з’єднання з аналогічними параметрами вже відкрите. Параметр client_flags повинен бути комбінацією із наступних констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE. Опис даних констант наведено в таблиці 1.

 

Таблиця 1.Клієнтські константи MySQL

Константа

Опис

MYSQL_CLIENT_COMPRESS

Використовувати протокол стиснення

MYSQL_CLIENT_IGNORE_SPACE

Дозволяє використовувати пробіли після імен функцій

MYSQL_CLIENT_INTERACTIVE

Дозволяє interactive_timeout секунд (замість wait_timeout) бездіяльності до закриття з’єднання.

MYSQL_CLIENT_SSL

Використовувати SSL-шифрування

 

Echo — виводить один або більше рядків. Насправді echo — це не функція, а конструкція мови PHP, тому брати аргументи в дужки необов’язково.

 

Останні 10 років в мережі Інтернет з’являються сайти для проведення змагань з програмування. Завдяки подібним сервісам учень має можливість розвивати свої творчі здібності і готуватися до олімпіад із програмування. Одним із таких сайтів є http://www.e-olymp.com, який здатен тестувати розв’язки на різних мовах програмування, зокрема PHP, адже містить наступні компілятори:

  • Judge Pascal;
  • Judge C#;
  • Judge C++;
  • Judge Java;
  • Judge PHP;
  • Judge Python.

Розглянемо приклади розв’язку задачі № 519 на мовах Pascal, C/C++ і PHP.

 

Задача 519.

Знайти суму квадратів двох чисел.

 

Вхідні дані

Вхідний файл містить два цілих числа A та B. Числа не перевищують 109 за абсолютною величиною.

Вихідні дані
Виведіть у вихідний файл одне ціле число - A2+B2.

 

Вхідні дані

2 3

Вихідні дані

13

 

Розв’язок мовою Pascal:

var

  a,b:int64;

  f1,f2:text;

begin

  assign(f1,'input.txt');

  assign(f2,'output.txt');

  reset(f1);

  rewrite(f2);

  readln(f1,a,b);

  writeln(f2,sqr(a)+sqr(b));

  close(f1);

  close(f2);

end.

 

Розв’язок мовою C/ C++:

#include<stdio.h>

int main()

{

long long int a,b;

FILE *inf = fopen("input.txt","r");

FILE *outf = fopen("output.txt","w");

fscanf(inf, "%lld %lld", &a,&b);

fprintf(outf, "%lld\n", a*a+b*b);

fclose(inf);

fclose(outf);

return 0;

}

 

Розв’язок мовою PHP:

<?php

$f1=fopen('input.txt','r');

$f2=fopen('output.txt','w');

$line=(fgets($f1, 256));

$chyslo_array=explode(' ',$line);

$r=$chyslo_array[0]*$chyslo_array[0]+$chyslo_array[1]*$chyslo_array[1];

fwrite($f2, $r);

fclose($f1);

fclose($f2);

?>

 

Література

  1. Веллинг Люк, Томсон Лаура. Разработка Web-приложений с помощью PHP и MySQL, з-е издание. : Пер. с англ. — М. : Издательский дом «Вильямс», 2008. — 880 с.
  2. Поль Дюбуа, MySQL. Сборник рецептов. — Пер. с англ. — СПб : Символ-Плюс, 2007. — 1056 с.
  3. Скляр Д., Трахтенберг А. PHP. Сборник рецептов. — Пер. с англ. — СПб : Символ-Плюс, 2006. — 672 с.
  4. http://www.e-olymp.com.
Dounload PDF

Відгуки читачів