Лекция Введение в PHP


Введение в РНР
PHP – это язык серверных скриптов (server scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере.
HTTP – протокол передачи гиперссылок – является стандартом взаимодействия, регулирующим порядок направления запросов и получения ответов – процесса, происходящего между браузером, запущенным на компьютере конечного пользователя, и веб – сервером. Задача сервера состоит в том, чтобы принять запрос от клиента и попытаться дать на него содержательный ответ, обычно передавая ему запрошенную веб – страницу. Именно поэтому и используется термин сервер (обслуживающий). Партнером, взаимодействующим с сервером, является клиент, поэтому данное понятие применяется как к веб – браузеру, так и к компьютеру, на котором он работает.
Между клиентом и сервером может располагаться ряд других устройств, например, маршрутизаторы, модули доступа, шюзы и т.д., служащие для выполнения безошибочного перемещения запросов и ответов между клиентом и сервером.
Процедура «запрос - ответ»
Динамическая последовательность процесса «запрос - ответ», выполняемого клиентом и сервером:
Веб-браузер Интернет Веб-сервер Процессор РНР Жесткий диск База данных MySQL
1 Ввод URL 2 Поиск IP 3 Запрос главной страницы 4 Получение запроса 5 Извлечение страницы 6 Содержит PHP 7 Обработка PHP 8 Выполнение SQL
9 Получение данных 10 Возвращение страницы 11 Отображение страницы Преимущество использования РНР
Использование РНР существенно упрощает встраивание средств, придающих веб – страницам динамические свойства. Когда страницам присваивается расширение .php, у них появляется прямой доступ к языку сценариев, который хотя и не обладает быстротой кода, скомпилированного на С или ему подобных языках, но все же работает невероятно быстро и к тому же очень хорошо вписывается в код HTML.
Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым. Вот неполный перечень поддерживаемых БД: Adabas D, InterBase, Solid dBase , mSQL, Sybase Empress, MySQL , Velocis FilePro, Oracle, Unix dbm Informix , PostgreSQL , ODBC.
Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.
Основной синтаксис РНР
Программы на РНР встраиваются в текст web – страницы при помощи тегов <?php и ?>.
<?php

Текст программы
….
?>
Для PHP-движка этот код означает начало блока команд, которые надо обработать и
Выполнить. Все, что находится за пределами этой конструкции, отправляется клиенту в виде простого HTML.
Пример 1.
<html>
<head><title>test</title>
</head>
<body>
<?php
echo "Сегодняшнее число : ";
echo date("l F d, Y");
?>
</body></html>
Встроенная функция date отображает текущую дату, соответствующую системному времени сервера.
РНР – конструкцию можно помещать непосредственно рядом с кодом РНР:
Сегодняшнее число: <? php echo date("l F d, Y"); ?>
Все команды РНР завершаются точкой с запятой!
Символ $ перед именами всех переменных. Это нужно для того, чтобы РНР – парсер работал быстрее, сразу же понимая, что работает с переменной.
Пример.2 Варианты присваивания значений переменным
<?php
$mycounter=1;
$mystring = "Hello";
$myarray=array("One", "Two", "Three");
?>
Вывод текста в HTML-страницу
Самый простейший способ общения с пользователем через Web-страницу, это послать ему в странице какой-нибудь текст. Это можно сделать двумя способами: с помощью функции print или echo:
<?php
print "Hello, world.";
?>
<?php
echo "Hello, world.";
?>
Эти команды очень похожи друг на друга, но print – это функция, воспринимающая единственный параметр, а echo – конструкция языка РНР.
В общем, команда echo работает при выводе обычного текста быстрее print, поскольку не является функцией и не устанавливает возвращаемое значение.
С другой стороны, поскольку она не является функцией, ее, в отличие от print, нельзя использовать как часть более сложного выражения.
Пример 3. Вывод информации о том, является ли значение переменной истинным или ложным при помощи print
$b ? print "true" : print "false";
Основные переменные
Переменная Пример
Строковые переменные $name = "Fred Smith";
$usernsme1 = $usernsme1;
Числовые переменные $count = 15;
$count = 15.8;
Массивы Конструкция array();
$team = array("Bill","Mike","Jim");
echo $team[2]; //отображает имя Jim
Двумерные массивы $oxo = array (array(5, 8, 2),
array(7, 6, 0),
array(4, 1, 3));
echo $oxo[1][2]; //возвращение третьего элемента во второй строке
Операторы
Арифметические операторы
Оператор Описание Пример
+ Сложение $j + 1
- Вычитание $j – 7
* Умножение $j * 11
/ Деление $j / 4
% Модуль (остаток от деления) $j % 9
++ Инкремент (приращение) ++$j
-- Декремент (отрицательное приращение) --$j
Операторы присваивания
Оператор Пример Эквивалент
= $j = 15 $j = 15
+= $j += 5 $j = $j + 5
-= $j -= 3 $j = $j - 3
*= $j *= 4 $j = $j * 4
/= $j /= 12 $j = $j / 12
.= $j .= $k $j = $j . $k
%= $j %= 6 $j = $j % 6
Операторы сравнения
Оператор Описание Пример
== Равно $j == 15
!= Не равно $j != 5
> Больше чем $j > 9
< Меньше чем $j < 4
>= Больше чем или равно $j >= 105
<= Меньше чем или равно $j <= 18
Логические операторы
Оператор Описание Пример
&& И $j == 15 && $k == 9
And Низкоприоритетное И $j == 15 and $k == 9
|| ИЛИ $j < 5 || $k >9
or Низкоприоритетное ИЛИ $j < 5 or $k >9
! НЕ ! ($j == $k )
xor Исключающее НЕ $j or $k
Математические функции
Наряду с математическими операторами, в РНР предусмотрено большое количество математических функций. Ниже приведен перечень наиболее часто употребительных функций.
• abs Абсолютное значение (модуль) числа.
• ceil Округление числа в большую сторону.
• cos Косинус.
• deg2 rad Преобразование градусов в радианы.
• ехр Вычисление экспоненты заданного числа.
• floor Округление числа в меньшую сторону.
• fmod Вещественный остаток от деления двух чисел.
• hexdec Преобразование строки, представляющей шестнадцатеричное число, в целочисленное значение.
• hypot Вычисление гипотенузы по двум катетам.
• loglO Десятичный логарифм.
• log Натуральный логарифм.
• max Максимум заданных чисел.
• min Минимум заданных чисел.
• mtgetrandmax Максимальное значение, которое можно получить функцией mtr and ().
• mtrand Генератор псевдослучайных чисел по алгоритму витка Мерсенна1.
• mtsrand Инициализация генератора псевдослучайных чисел по алгоритму витка Мерсенна.
• octdec Преобразование строки, представляющей восьмеричное число, в целочисленное значение.
• pi Значение числа пи.
• pow Возведение в степень.
• rad2deg Преобразования радианов в градусы.
• rand Генератор псевдослучайных чисел.
• round Округление числа.
• sin Синус.
• sqrt Квадратный корень.
• tan Тангенс.
Пример.4
<?php
echo "sqrt (9) = ", sqrt (9);
?>
Условные операторы IF, ELSE, ELSEIF
If (логическое выражение)
{
если условие true
}
else
{
если условие false
}
Пример 4. Использование if
<?php
$bank_balance = 200;
$money = 100;
if ($bank_balance < 300)
{
$money += 1000;
$bank_balance += $money;
echo "Баланс ", $bank_balance, "р.";
}
?>
Пример 5. Использование if…else
<?php
$bank_balance = 200;
$money = 100;
$savings=50;
if ($bank_balance < 300)
{
$money += 1000;
$bank_balance += $money;
}
else
{
$savings += 50;
$bank_balance -= 50;
}
echo "Баланс ", $bank_balance, "р. <br/> Сбережения ", $savings, "р.";
?>
Пример 6. Использование if…elseif…else
<?php
$score = 4;
if ($score == 5)
echo "Отлично";
elseif ($score == 4)
echo "Хорошо";
elseif ($score == 3)
echo "Удовлетворительно";
else
echo "Неудовлетворительно";
?>
Циклы FOR, WHILE, DO…WHILE
Пример 7. 1 Цикл for
<?php
for ($counter = 0; $counter < 5; $counter++)
{
echo "Эта строка будет выведена пять paз <BR/>";
}
?>
Пример 7.2
<?php
for ($varl = 1, $var2 = 2; $varl < 5 && $var2 < 5; $varl++ , $var2++)
{
echo "$varl x $var2 = ", $varl*$var2, "<BR>";
}
?>
Пример 8. Использование while
<?php
$value = 1;
while ($value < 100)
{
echo "Значение $value = ", $value, "<BR>";
$value *= 2 ;
}
?>
Пример 9. Использование do… while
<?php
$value = 2;
do
{
echo $value, "<BR>";
$value *= 2;
}
while ($value < 100);
?>