
Лабораторна робота №3
Тема: Знайомсто з мовою php
Мета: Отримати практичні навички по роботі з мовою php
Короткі теоретичні відомості:
PHPпрограми
Програми PHPможуть виконуватися двома способами: як програми сценаріїв Web-сервером і як консольні програми. Надалі розглядатиметься перший спосіб.
Розглянемо процес виконання php-сценарію при зверненні браузера до
сервера. Отже, спочатку браузер запитує сторінку з розширеннямphp, після чого web-сервер пропускає програму через машину PHP і видає результат у вигляді html-коду. Причому, якщо взяти стандартну сторінку HTML, змінити розширення на. Php і пропустити її через машину PHP, остання просто перешле її користувачеві без змін. Щоб включити в цей файл команди PHP, необхідно укласти команди PHPв спеціальні теги, яких розрізняють 4 види (вони еквівалентні і можна використовувати будь-які):
1. Інструкція обробки XML:
<?Php
... ?>
2. Інструкція обробки SGML:
<?
... ?>
3. Інструкція обробки сценаріїв HTML:
<scriptlanguage = "php">
... </Script>
4. Інструкція в стилі ASP:
<%
... %>
Будемо дотримуватися стилю XML,або SGML.
Можлива наступна конструкція:
<?
if (5<3) {
echo ("<p>Hello, world! <p>"); ?>
<p>Hello! </ p>
// Цей рядок не інтерпретується як код PHP
// І виводиться тільки якщо блок коду виконується
<?
echo ("<p> Hello, world! <p>");
} ?>
Команда echoв PHPзастосовується для виведення тексту, розмітки, HTML, числа, тощо.
Коментарі
PHPнадає кілька методів для вставки коментарів. Найпростіше користуватися подвійним слешем в стилі мови С++ (//), після чого PHPмашина ігнорує все, що розташовано до кінця рядка. Також можна користуватися багаторядковими коментарями в стилі С (/* ... */). Для однорядкових коментарів можна ще користуватися символом решітки (#) (коментар скриптових мов UNIX).
<php
echo ("<p> Hello </p>"); // коментар
echo ("<p> Hello </p>"); # коментар
/*
і це теж коментарі
*/ ?>
Слід пам'ятати про те, що стилі коментарів PHP діють тільки усередині блокуPHP.
Змінні
У РНР змінні починаються зі знака долара ($), за яким може слідувати будь-яка кількість буквено-цифрових символів і символів підкреслення, але перший символ не може бути цифрою. Таким чином , припустимі наступні імена змінних: $n, $n1, $user_func_5 і т. д. На відміну від ключових слів, імена змінних в PHP чутливі до регістру, тобто змінні $user, $ User і $ USER є різними.
<? Php
$User = "Володимир";
$User = "Дмитро";
$USER = "Юрій";
echo $user; // Володимир
echo $User; // Дмитро
echo $USER; // Юрій ?>
При оголошенні змінних в РНР не вимагається явно вказувати тип змінної, при цьому одна і та ж з мінна може мати впродовж програми різні типи.
Як видно з попереднього лістингу, для присвоєння значення змінної необхідно скористатися оператором присвоєння =, який дозволяє ініціалізувати змінну. При оголошенні числових значень як роздільник цілого значення і дробової частини виступає крапка.
<? Php
$Number = 1;
$Var = 3.14;?>
Зовнішні змінні
Після того, як запит клієнта проаналізованийвеб-сервером і переданий РНР машині, остання встановлює ряд змінних, які містять дані, пов'язані з запитом і доступні весь час його виконання. Спочатку РНР витягує змінні оточення операційної системи і створює змінні з тими ж іменами і значеннями в оточенні сценарію РНР для того щоб сценаріями, розташованим на сервері були доступні особливості системи клієнта. Ці змінні поміщаються в асоціативний масив $_SERVER (вміст цього масиву можна завжди подивитися, скориставшись функцією print_r ($ _SERVER) або phpinfo ()).
Потім РНР створює групу GET-змінних, які створюються при аналізі рядка запиту. Рядок запиту зберігається в змінній $_SERVER['QUERY_STRING'] і являє собою інформацію, наступну за символом "?" в запрошенномURL. РНР розбиває рядок запиту за символами & на окремі елементи, а потім шукає в кожному з цих елементів знак "=". Якщо знак "=" знайдений, то створюється змінна з ім'ям із символів, що стоять зліва від знаку рівності. Розглянемо наступну форму:
<form action = "http://localhost/PHP/test.php" method="get">HDD: <input type="text" name="HDD"/><br> CDROM: <input type="text" name="CDROM"/><br><input type="submit"/></ Form>
Якщо в цій формі в рядку HDDнабрати, наприклад, "Maxtor", а в рядку CDROM "Nec", то згенерується наступна форма запиту:
http://localhost/PHP/test.php?HDD=Maxtor&CDROM=Nec
У нашому випадку РНР створить такі змінні: $ _GET['HDD'] = "Maxtor" і $ _GET['CDROM'] = "Nec".
Можна працювати з цими змінними з скрипта:
<?
echo ("<p> HDD is $GET[HDD] </p>");
echo ("<p> CDROM is $GET[CDROM] </p>"); ?>
Якщо запит сторінки виконується за допомогою методу POST, то з'являється група POST-змінних, які інтерпретуються також і поміщаються в масив $ _POST.
Константи
Константи оголошуються в РНР за допомогою функції define (): define (CONSTANT, value)
Перший параметр цієї функції – ім'я константи, другий – її значення. При використанні константи на неї посилаються на ім'я:
<?
define (CONSTANT1, 15);
define (CONSTANT2, "\x20"); // код пробілу
define (CONSTANT3, "Hello");
echo (CONSTANT1);
echo (CONSTANT2);
echo (CONSTANT3); ?>
За традицією імена констант пишуть літерами верхнього регістру.
Існує функція defined (), яка перевіряє, чи визначена константа:
<?
define (CONSTANT, "Hello");
if (defined ("CONSTANT"))
{
echo ("<p> CONSTANT is defined </p>");
} ?>
Типи даних в РНР. Перетворення типів
Як вже було сказано, PHPнадає певну гнучкість щодо типів змінних, тобто з однією і тією ж змінною протягом програми можна працювати і як з рядком, і як з числом. Однак, незважаючи на це в РНР існують набір основних типів даних, які можуть явно вказуватися при роботі зі змінними: