Вы находитесь на странице: 1из 24

ЛЕКЦИОННЫЙ КОМПЛЕКС

по дисциплине «Публикация базы данных в Интернете»

Лекция № 1
Тема: Разработка сайта. Основные понятия. Этапы разработки
сайта.
Аннотация. Влияние глобальной компьютерной сети Интернет на
современный мир не имеет исторических аналогов. Его сегодняшний день –
это начало эпохи электронного проникновения во все сферы человеческой
жизни, это нечто большее, чем просто маркетинговая кампания, это основа
новой философии и новой деловой стратегии.

Интернет и WWW прочно вошли в нашу жизнь, и нам уже трудно


представить свою деятельность без них. WWW – это огромный набор
гипертекстовых документов, которые благодаря Интернет доступны в любой
точке мира.
Создание Web-сайтов является одной из важнейших технологий
разработки ресурсов Интернет. Хороший сайт, вбирая в себя всю полезную
информацию, является лучшей визитной карточкой и коммерческой фирмы и
образовательного учреждения, работая на них в любое время суток.
В настоящее время во всемирной паутине размещено несколько
миллионов Web-сайтов и их число постоянно растет. Пользователь может не
только просмотреть любой из них и извлечь полезную для себя информацию,
но и принять активное участие в их создании.
Существует множество средств для создания Web-сайтов, но лишь
некоторые из них способны предоставить разработчикам инструменты для
решения подавляющего большинства стоящих перед ним задач. К этим
немногим средствам относятся язык гипертекстовой разметки HTML и язык
программирования РНР.

Ключевые слова: сайт, сервер, интернет, гипертекст


План
1. Понятие Web-сайта
2. Классификация Web-сайтов
3. Этапы разработки Web-сайта
4. Навигационная схема Web-сайта

Введение в технологию создания Web-сайтов


1.1 Понятие Web-сайта

Информация, доступная пользователям Internet, располагается на


компьютерах (Web-серверах), на которых установлено специальное
программное обеспечение. Значительная часть этой информации
организованна в виде Web-сайтов. Каждый из них имеет свое имя (адрес) в
Internet. Web-сайт – это информация, представленная в определенном виде,
которая располагается на Web-сервере и имеет свое имя (адрес).
Для просмотра Web-сайтов на компьютере пользователя используются
специальные программы, которые называются браузерами. Наиболее
распространенными браузерами в настоящее время являются Internet Explorer,
Google Chrome, Mozilla Firefox и Netscape Navigator. В зависимости от того,
какое имя (адрес) сайта мы зададим в строке "Адрес", браузер будет загружать
в свое окно соответствующую информацию.
Web-сайт состоит из связанных между собой Web-страниц.
WEB-сайт
page1.htm page2.htm page3.htm
Текст + Текст + Текст +
HTML-код HTML-код . . . HTML-код
Графика Аудио Видео Графика Аудио Видео Графика Аудио Видео
Рисунок 1.1

Каждая страница Web-сайта также имеет свой Internet адрес, который


состоит из адреса сайта и имени файла, соответствующего данной странице.
Таким образом, Web-сайт – это информационный ресурс, состоящий из
связанных между собой гипертекстовых документов (Web-страниц),
размещенный на Web-сервере и имеющий индивидуальный адрес.
Вопрос: Что нужно для того, чтобы посмотреть какой-либо Web-сайт?
Ответ: посмотреть Web-сайт может любой человек, имеющий компьютер,
подключенный к Internet, Web-браузер и адрес сайта.

1.2 Классификация Web-сайтов


В настоящее время во всемирной паутине размещено несколько
миллионов Web-сайтов и их число постоянно растет.
Это личные страницы, содержащие информацию об авторе, его
интересах. Их создают для того, чтобы обрести друзей по интересам,
расширить свой кругозор, свой мир.
Информационные сайты. К ним относятся сайты учебных заведений,
сообществ по интересам, фирм и др.:
Сайты дистанционного обучения и консультирования. На этих сайтах
размещены обучающие программы и тесты, доступные в режиме on-line для
студентов и школьников.
Постепенно входит в нашу жизнь электронная коммерция. В Web
встречаются виртуальные магазины, которые позволяют делать покупки, сидя
за мониторами своих компьютеров.
Сейчас в Сети размещено также большое количество информационно-
развлекательных сайтов.

1.3 Этапы разработки Web-сайта


Главными задачами при разработке любого Web-сайта являются четкая
организация структуры сайта и определение его информационного
наполнения.
Другими словами, на первом этапе необходимо создать информационную
модель Web-сайта.
Выделяют следующие этапы разработки Web-сайта: планирование,
реализация, тестирование, публикация, рекламирование, сопровождение.
Планирование является первым и, вероятно, наиболее важным этапом
создания хорошего Web-сайта. На стадии планирования определяется
следующее:
− цели создания Web-сайта (Зачем? Какие задачи он должен выполнять и
на какую аудиторию он рассчитан?);
− характер содержимого;
− структура (От того, как организована подача материала на Web-сайте,
зависит “путь”, который должен пройти пользователь в поисках нужной ему
информации. Этих “путей” может быть несколько, но каждый из них должен
быть логически обоснованным. Всегда должна быть возможность вернуться в
исходную точку за один шаг, в частности, каждая страница должна иметь
ссылку на домашнюю страницу Web-сайта).
− особенности оформления (определяется структура каждой страницы и
разрабатывается графика).
Любую страницу можно оценить по трем параметрам: контенту,
внешнему виду и навигации. Одно должно дополнять другое, и ни в коем случае
не подавлять. Если Вы публикуете свой труд, рассчитываемый на долгое
вдумчивое чтение, тогда позаботьтесь о читабельности, постарайтесь
исключить отвлекающие динамические эффекты, подберите правильное, не
утомляющее цветовое сочетание фона и текста, постарайтесь задать стиль,
соответственно содержанию. И наоборот: сократите текстовые блоки до
минимума, если Вы создаете сайт, дающий посетителю, прежде всего
визуальную и другую мультимедийную информацию, подключайте всю Вашу
фантазию и доступные средства реализации.
Запомните. Только сайт, сочетающий в себе хороший дизайн,
информационную насыщенность и четкую структуру, может претендовать на
доверие пользователей.
При создании достаточно больших документов надо помнить о том, что
не все из посетителей имеют высокоскоростной доступ в Internet. У
большинства пользователей модемный коннект, где скорость передачи
данных 2-3 kB в секунду не считается плохой. Сосчитайте суммарный "вес"
Вашего документа и всех размещенных в нем изображений, а также
подгружаемых звуков и оцените, как долго он будет грузиться.
Большинство потенциальных посетителей прервут загрузку страницы из
соображений экономии средств, если она будет грузиться дольше 30-40
секунд.
Как же добиться максимально полного размещения необходимой
информации при минимальном времени загрузки страницы? Оптимальным
решением в таком случае будет - разбить документ по разделам на отдельные
страницы, исполнить их в одном и том же стиле, с применением одинакового
шрифта, кнопок, цвета заголовков и организовать навигацию между ними при
помощи ссылок. Это позволит Вам разместить гораздо больше графического
материала, чем раньше и существенно облегчит посетителю поиск именно той
информации, какая его интересует.
Реализация
Это и есть работа по созданию сайта. На этом этапе проводится
подготовка текстового и графического материала (печать, сканирование).
Материал разбивается по файлам в соответствии со структурой. Организуются
ссылки между файлами сайта.
Рекомендуется создать шаблон-заготовку страницы с основными
структурными областями и стилевым оформлением и использовать ее для
создания всех страниц узла. Меняйте в каждой новой странице только
содержимое и адресацию ссылок, такая организация работы сократит время,
потраченное на каждую из них. Помните, что посетитель может попасть прямо
из поисковой системы на любую из ваших страниц – и важно в этом случае
показать ему, что она является частью целого сайта, дать ему возможность
перейти по ссылке на главную страницу и просмотреть остальные разделы.
При создании Web-страниц необходимо учитывать, что разработанный
Вами Web-сайт может выглядеть на компьютерах разных пользователей по-
разному. Это зависит от многих параметров – типа браузера клиента,
установок операционной системы, аппаратных ресурсов компьютера и т.п.
Тестирование
Завершив работу по размещению страниц на Web-сайте, необходимо
выполнить тестирование. Оно состоит из двух этапов: тестирование на
работоспособность и тестирование на удобство пользования интерфейсом.
На этапе тестирования на работоспособность проверяют, как
функционирует Web-сайт, используя те же условия, при которых с ним будет
работать пользователь.
Поработайте с Web-сайтом в различных браузерах и посмотрите, как
выглядит Ваш сайт в каждом из них. Постарайтесь оценить время загрузки
страниц, что очень важно.
Для тестирования на удобство пользования интерфейсом крупные
компании приглашают специальные группы людей. Вам можно пригласить
своих друзей и, не давая им никаких инструкций, посмотреть, как они будут
пользоваться вашим Web-сайтом. Обратите внимание на то, как они
перемещаются по Web-сайту. Где возникают паузы? Когда пользователи
испытывают трудности? И при этом не подсказывайте им, не давайте никаких
указаний! Такие наблюдения дадут вам много ценной информации. А если
пользователи будут выполнять неправильные действия, то это уже недостаток
вашей разработки и, значит, над Web-сайтом следует еще поработать.
Выслушайте пользователей, может, они подскажут вам некоторые решения
возникших проблем.

Публикация
Готовый Web-сайт необходимо опубликовать на Web-сервере, чтобы он
был доступен через Internet.
Однако для того чтобы выбрать окончательно сервер для размещения своего
сайта необходимо обратить внимание на следующее:
− отсутствие дискриминации по контенту. Некоторые сервера ставят
условия, касающиеся содержимого Вашего сайта;
− надежность Web-сервера. Посетите их Web-узел в пиковые часы и
убедитесь, что проблем с доступом не возникает;
− отсутствие скрытых завуалированных видов оплаты места в виде
всевозможных доплат за различные услуги и рекламы;
− техническая поддержка. Предоставят ли Вам возможность общения с
администратором сервера, есть ли возможность доступа по протоколу FTP (
FileTransfer Protocol ) , и т.д.;
− объем выделяемого Вам пространства. Обычно это 5-10 мегабайт;
− дополнительные возможности. Не будет лишним, если сервер
предложит Вам:
− бесплатную почту, счетчик посещений, гостевую книгу, чат, различные
CGI-скрипты и т.д.;
− какое программное обеспечение установлено на сервере. Например,
UNIX-сервера чувствительны к регистру букв в названиях файлов, т.е. если у
Вас в исходном коде будет стоять ссылка на файл background.gif, а файл будет
назван background.Gif или Background.gif, то он не будет визуализирован.
Однако у таких серверов более высокая степень защищенности от взломов.
− есть ли на сервере автоматическая перекодировка содержимого
страниц, в соответствии с пользовательскими настройками браузера. Если
таковой нет, то у Вас могут возникнуть проблемы с отображением русских
кодировок.
Рекламирование сайта. Существует множество приемов рекламирования
сайта: размещение информации о нем на поисковом Web-сайте, организация
взаимных ссылок с другими сайтами и т.д.
Как привлечь пользователя? Красиво оформленные страницы Web-сайта
– это только половина дела. В первую очередь страницы должны быть
содержательными.
Основное требование к содержимому Web-сайта – полнота и
достоверность.
Информация должна быть представлена таким образом, чтобы пользователь,
однажды посетивший Web-сайт, еще ни раз обратился к нему.
Акцентируйте внимание пользователя на своей личности u1080 или
организации, в которой вы работаете, например, создав отдельную страницу,
посвященную этой теме.
Разместите на домашней странице свою фотографию или логотип
организации.
Сопровождение сайта
Содержимое Web-сайта может подвергаться неоднократным
изменениям. Важно, чтобы предоставляемая на Web-сайте информация всегда
была актуальной, поэтому как можно чаще обновляйте информацию на своем
Web-сайте, по возможности расширяйте материал, улучшайте дизайн.
Обязательное правило. Web-сайт должен обновляться не реже одного
раза в месяц. В противном случае вы потеряете не только потенциальных, но
и уже состоявшихся посетителей.
Рекомендуется создать на своем компьютере копию Web-сайта, вносить
в нее изменения и новую версию передавать для размещения на сервере в
завершенном виде.
1.4 Навигационная схема Web-сайта
Web-сайт состоит из связанных между собой гипертекстовых
документов.
Гипертекст – это способ хранения и манипулирования информации,
позволяющий устанавливать связи между любыми “информационными
единицами”.
Связь между информационными единицами осуществляется по
гиперссылкам.
Гиперссылка - это выделенный фрагмент текста, с помощью которого
осуществляется переход от одного документа к другому. Обычно гиперссылки
выделяют синим цветом и подчеркиванием.
Навигационная схема Web-сайта зависит от его структуры и определяет
то, как пользователь будет по нему перемещаться и получать доступ к
информации, которую Вы представляете.
Запомните. Простота и удобство навигации является одним из важных
факторов, определяющих посещаемость Web-сайта. Пользователи должны
быстро и легко перейти на любую страницу Web-сайта, в том числе на
начальную.
Существует несколько видов структурирования информационного материала
на Web-сайте:
Линейная структура
Материал весь располагается последовательно (рис. 1.2).

Иерархическая структура
Чаще всего структура Web-сайта представляет собой иерархию. При
этом сначала создают категории высшего уровня, а затем материал в
логическом порядке размещают в категории, которые находятся ниже.
Иерархические структуры бывают двух видов: узкая глубокая и широкая
неглубокая.
Узкая глубокая иерархия (рис. 1.3) характеризуется тем, что на верхнем уровне
она имеет мало категорий. Для получения нужной информации пользователь
вынужден переходить на несколько уровней вниз.
Из приведенного примера видно, что для перехода к странице N пользователь
должен произвести 4 щелчков мышью.
Широкая неглубокая иерархия (рис. 1.4)

Рисунок 1.4
Ни первый, ни второй способ организации информации не является
оптимальным. Лучше, когда иерархическая структура состоит из 3-4 уровней.
Нелинейная структура (рис. 1.5)

Рисунок 1.5

Смешанная структура
Существуют ситуации, когда представить информацию одним из описанных
выше методов не представляется возможным. В этом случае применяют
несколько схем одновременно. Однако такой подход имеет недостаток – он
требует от пользователя концентрации внимания и дополнительных усилий.
Чтобы помочь пользователю составляют карту Web-сайта (site-map). На
данной карте схематически представляют структуру размещения информации
на Web-сайте.
Список литературы: [2],[3],[4],[5],[6]
Лекция №2.
Тема: Данные PHP: Переменные - основа любого языка
программирования.

Скалярные переменные
Переменные являются временным местом хранения, используемым для
представления значений в сценарии PHP. В PHP имеется два основных типа
переменных: скалярные и массивы.
Скалярные переменные содержат только одно значение в данный
момент времени, а переменные массивы – список значений. Переменные
массивы обсуждаются в следующем разделе. Скалярные переменные PHP
содержат значения следующих типов.
Целые – целые числа или числа без десятичной точки (1, 999,
325812841).
Числа с плавающей точкой – числа, содержащие десятичную точку (1.11, 2.5,
.44).
Строки – текстовая или числовая информация. Строковые данные
всегда определяются с помощью кавычек ("Hello World", "478-477-5555").
Булевы значения – используются для значений true (истина) или false
(ложь).
Имена переменных PHP всех типов начинаются со знака "$". Имена
переменных могут содержать буквы, числа, и символ подчеркивания (_); они
не могут, однако, начинаться с цифры. В PHP имена переменных различают
регистр символов. Следующие переменные в PHP интерпретируются как две
различные переменные.
$myvar
$MYVAR
Допустимые имена переменных:
$myvar
$F_Name
$address1
$my_string_variable
Недопустимые имена переменных:
Myvar
$1stvar
$&62##
Скалярным переменным PHP присваивают значения в следующем
формате:
$username = "jdoe"
$first_name = "John"
$Last_Name = "Doe"
Переменная username содержит значение jdoe.
Вывод переменных
Следующий фрагмент кода демонстрирует, как объявить скалярную
переменную, присвоить скалярной переменной значение и вывести
результаты в окне браузера:
<html>
<head> <title>Страница Web</title></head>
<body>
<p>
<?php
$string_var = "Моя программа PHP";
$integer_var = 500;
$float_var = 2.25;
echo $string_var;
echo $integer_var;
echo $float_var;
?>
</p>
</body>
</html>
Переменные массивы PHP можно создавать и присваивать им значения
с помощью конструкции array() или явным образом.
Переменную можно соединять с другими переменными или тегами
XHTML с помощью оператора PHP – точки ( .). В предыдущем блоке кода
значения переменных выводятся в следующем формате:
Моя программа PHP5002.25
Чтобы создать возврат каретки или перенос строки, можно
присоединить тег XHTML <br/> в конце каждой пременной:
<?php
$string_var = "My PHP program" . "<br/>";
$integer_var = 500 . "<br/>";
$float_var = 2.25;
echo $string_var;
echo $integer_var;
echo $float_var;
?>
Теперь после каждой переменной вставляется перенос строки, что
приводит к выводу каждого значения на отдельной строке.
My PHP Program
500
2.25
Соединение переменных
Оператор точки можно использовать также для соединения строк и
переменных:
Сообщение — The user's name is John Doe — выводится в окне браузера.
Строка "The user's name is "соединяется со значением $fname(John), за которым
следует пробел " ", и значением $lname (Doe).
<html>
<head> <title>A Web Page</title></head>
<body>
<p>
<?php
$fname = "John";
$lname = "Doe";
echo "The user\'s name is " . $fname "." $lname;
?>
</p>
</body>
</html>
The user's name is John Doe

Интерполяция
PHP поддерживает также процесс, называемый интерполяцией – замену
переменной в строке ее содержимым. Вместо соединения переменных и
литералов, их можно объединять внутри двойных кавычек (""). Интерполяция
является свойством только двойных кавычек. Переменные и литералы нельзя
объединить внутри одиночных кавычек. При использовании двойных кавычек
значение переменной выводится вместе с литералом. При использовании
одиночных кавычек выводится "буквально" имя переменной вместе с
остальной строкой. Следующий пример иллюстрирует свойство
интерполяции PHP.
<html>
<head> <title>A Web Page</title></head>
<body>
<p>
<?php
$fname = "John";
$lname = "Doe";
echo "The user\'s name is $fname $lname";
?>
</p>
</body>
</html>
Этот код создает такой же вывод, как и предыдущий пример. Здесь
переменные объединяются с помощью литеральной строки, заключенной в
двойные кавычки. Соединение (конкатенация) не требуется.

Форматирование вывода валюты


Кроме вывода стандартного текста можно применять для вывода
форматированного текста вариант конструкции print с именем sprintf.
Оператор требует задания форматирующей строки и значения для
форматирования.
sprintf("%01.2f", $var) - выводит значение '$var' как валюту.
Оператор sprint показан ниже:
<html>
<head> <title>A Web Page</title></head>
<body>
<p>
<?php
$amount = 35;
$tax = 2.50;
$total = $amount + $tax;
echo "$" . sprintf("%01.2f", $total);
?>
</p>
</body>
</html>
Вывод валюты показан ниже:
$37.50

Константы PHP
Константы, как и переменные, являются временным хранилищем
значений в памяти. В отличие от переменных значение константы никогда не
изменяется. При объявлении константы используется функция define(),
которая требует задать имя константы и значение этой константы.
Константам можно присваивать следующие типы данных.
Целые – целые числа или числа без десятичной точки (1, 999,
325812841).
Числа с плавающей точкой – числа, содержащие десятичную точку
(1.11, 2.5, .44).
Строки – текстовая или числовая информация. Строковые данные
всегда заключаются в кавычки ("Hello World", "478-477-5555").
Имена констант PHP в отличие от переменных не начинаются со знака
"$". Имена констант обычно записывают в верхнем регистре. Имена констант
могут содержать буквы, цифры и символ подчеркивания ( _ ); они не могут,
однако, начинаться с цифры. Объявление констант показано ниже.
define("STRING_CONSTANT", "This is my string.");
define("NUMERIC_CONSTANT", 5);

Вывод констант
Следующий фрагмент кода демонстрирует объявление константы,
присваивание константе значения и вывод результатов в окне браузера.
<html>
<head> <title>A Web Page</title></head>
<body>
<p>
<?php
define("STRING_CONST","My PHP program");
define("INTEGER_CONST",500);
define("FLOAT_CONST",2.25);
echo STRING_CONST;
echo INTEGER_CONST;
echo FLOAT_CONST;
?>
</p>
</body>
</html>
Пример 3.2.
My PHP program
500
2.25
В этом примере объявляются значения трех констант: STRING_CONST,
INTEGER_CONST и FLOAT_CONST. Затем используется оператор echo для
вывода содержимого констант в окне браузера. Кроме вывода в окне браузера,
константы можно использовать при выполнении математических и строковых
операций PHP.

Операторы PHP
Операторы применяются для выполнения операций или действий с
переменными. Они могут включать присваивание значения переменной,
выполнение сложения переменных, сравнение значений переменных и
определение состояния условия.
Арифметические операторы
Операторы присваивания
Операторы сравнения
Логические операторы
Арифметические операторы используются для выполнения основных
математических операций. В следующей таблице представлены
арифметические операторы, которые применяются в PHP.
Оператор Описание
+ сложение
- вычитание
* умножение
/ деление
% сравнение по модулю (возвращает остаток от
деления)
++ увеличивает значение
-- уменьшает значение

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


<head> <title>A Web Page</title></head>
<body>
<p>
<?php
// Оператор сложения
$sum = 5 + 2;
$sum = 7;
$newsum = $sum + 4;
echo "The sum is " . $newsum;
//The subtraction operator
$difference = $newsum - 2;
echo "The difference is " . $difference;
//The multiplication operator
$product = $difference * 3;
echo "The product is " . $product;
//The division operator
$quotient = $product / $difference;
echo "The quotient is " . $quotient;
//The Increment operator
$quotient++;
echo $quotient;
//The decrement operator
$quotient --;
echo $quotient;
?>
</p>
</body>
</html>
Пример 3.3.
The sum is 11
The difference is 9
The product is 27
The quotient is 343

Порядок выполнения операций


Когда вычисляется арифметическое выражение, существует заданный
порядок, в котором выполняются операции. Этот порядок называется
приоритетом операций. Умножение и деление имеют преимущество (и
выполняются первыми) перед сложением и вычитанием, при движении в
выражении слева направо. Этот порядок имеет важное влияние на то, будут ли
получены ожидаемые результаты. Рассмотрим следующие объявления и
присваивания.
<?php
$num1 = 4;
$num2 = 5;
$num3 = 2;
$answer = $num1 * $num2 - $num3;
echo $answer;
?>
Получающееся значение будет равно 18. Сначала $num1 умножается на
$num2, чтобы получить 20; затем $num3 вычитается из 20, чтобы получить 18.
Предположим, однако, что в действительности надо сначала вычесть $num3 из
$num2, а затем умножить на $num1, чтобы получить 12. Показанное выше
выражение не создаст этот результат, потому что умножение имеет приоритет
перед вычитанием и выполнится первым.
Поэтому часто необходимо переопределить порядок выполнения
операций и явно управлять порядком вычисления выражения. Для этого
используют скобки (), которые могут помочь изменить порядок выполнения
арифметических операций. Приведенный выше пример можно переписать
следующим образом.
<?php
$num1 = 4;
$num2 = 5;
$num3 = 2;
$answer = $num1 * ($num2 - $num3);
echo $answer;
?>
В этот раз $answer равно 12. $num3 вычитается из $num2, чтобы
получить 3. Затем 3 умножается на $num1.
Операторы присваивания используются для изменения значения
текущей переменной на значение справа от оператора. В следующей таблице
представлены операторы присваивания языка PHP.
Оператор Описание
= Переменной слева присваивается вычисленное справа значение
+= Складывает значение слева со значением справа и присваивает
результат переменной слева
-= Вычитает значение справа из значения слева и присваивает
результат переменной слева
*= Умножает значение справа на значения слева и присваивает
результат переменной слева
/= Делит значение слева на значение справа и присваивает
результат переменной слева
%= Делит значение слева на значение справа и присваивает
остаток (по модулю) переменной слева
.= Значение слева соединяется (конкатенация) со значением
справа, и результат присваивается переменной слева
Операторы сравнения используются для сравнения значений. В
следующей таблице представлены операторы сравнения языка PHP.
Оператор Описание
== равно
!= не равно
> больше
< меньше
>= больше или равно
<= меньше или равно
Логические операторы позволяют определять состояние условий. В
зависимости от условия переменной в сценарии могут происходить различные
действия. Логические операторы широко используются в управляющих
структурах PHP. В следующей таблице представлены логические операторы
языка PHP.
Оператор Описание
&& AND (И)
|| OR (ИЛИ)
! NOT (НЕ)
Лекция № 3.
Тема: Структуры принятия решений:

Структуры принятия решений (или структуры выбора) в PHP, мало чем отличаются
от остальных языков программирования - поэтому лекция достаточно небольшая

Оператор If
При создании кода часто требуется выполнять различные действия на
основе некоторого выбора. В PHP это можно делать с помощью условных
операторов – оператора if, оператора if … else и оператора elseif.
if – этот оператор используется для выполнения блока кода, когда
выполняется условие ( true ).
if...else – этот оператор используется для выполнения блока кода, когда
условие выполняется ( true ), или для выполнения другого блока кода, когда
условие не выполняется ( false).
elseif – комбинация if и else. Оператор расширяет оператор if, чтобы
выполнялся другой оператор в случае, если исходное
выражение if оценивается как FALSE. В отличие от else он будет выполнять
альтернативное выражение, только если условное
выражение elseif оценивается как TRUE.
В том случае, когда необходимо выполнить блок кода, если выполняется
некоторое условие ( true ), можно использовать оператор if.
Ниже представлен синтаксис оператора if:
if (условие) {
// выполняемый код
}
Строки кода оператора if заключаются в фигурные скобки ( {} ). Эти
скобки определяют начало (открывающая скобка { ) и конец (закрывающая
скобка } ) оператора If. Следующий пример демонстрирует использование
оператора if.
<?php
$number = 5;
if ($number <= 10)
{ echo "Число меньше или равно 10.";}
?>
Число меньше или равно 10.
В приведенном выше примере число 5 присваивается переменной
$number. Затем сценарий PHP использует оператор сравнения "<=" (меньше
или равно) для сравнения значения $number с числом 10. Если значение
меньше или равно 10, оператор echo выводит сообщение " Число меньше или
равно 10" в окне браузера. Можно видеть, что скобки применяются для
ограничения блока оператора if. Открывающая скобка { появляется сразу
после оператора условия, а закрывающая скобка } — в конце оператора if.
Вспомните, что все операторы PHP должны завершаться с помощью
терминатора инструкции ( ; ): echo "Число меньше или равно 10.";
В некоторых случаях может понадобиться предоставить альтернативное
сообщение. В приведенном выше примере предположим, что
переменная $number содержит число 15, которое больше 10. Альтернативное
сообщение должно выводиться, чтобы пользователь знал: число больше 10.
Это можно выполнить с помощью оператора if … else.
<?php
$number = 15;
if ($number <= 10) { echo "Число меньше или равно 10.";}
else { echo "Число больше 10";}
?>
Число больше 10.
В приведенном выше примере число 15 присваивается
переменной $number. Затем сценарий PHP использует оператор
сравнения "<=" (меньше или равно) для сравнения значения $number с числом
10. Если это значение меньше или равно 10, оператор echo выводит
сообщение "Число меньше или равно 10" в окне браузера. Теперь в код
добавлен оператор else, чтобы выводить альтернативное сообщение, если
условие в операторе if не выполняется. Альтернативное сообщение "Число
больше 10" выводится в окне браузера, если оператор условия
возвращает false. Здесь также используются скобки для ограничения блока
оператора if. Открывающая скобка { появляется сразу после оператора
условия, а закрывающая скобка }– в конце оператора if. Скобки также
используются для ограничения альтернативного блока оператора else.
Третий тип условного оператора является структурой elseif.
Оператор elseif является комбинацией if и else. Подобно else он расширяет
оператор if, чтобы выполнить другой оператор, если условное выражение
исходного if оценивается как FALSE. Однако в отличие от else он будет
выполнять это альтернативное выражение, только если условное выражение
в elseif оценивается как TRUE. В одном операторе if может быть несколько
структур elseif. Первое выражение elseif (если такое имеется), которое
оценивается как TRUE, будет выполнено.
<?php
$number = 15;
if ($number < 10) { echo "Число меньше 10.";}
elseif ($number == 10) { echo "Число равно 10.";}
else { echo "Число больше 10.";}
?>
Число больше 10.
В этом примере числовое значение переменной $number сравнивается с
10. Сперва оператор if проверяет, что $number меньше 10. Если этот оператор
выполняется (true), выводится сообщение "Число меньше 10". Затем
оператор elseif используется для проверки, что $number равно 10. Если этот
оператор оценивается как true, выводится сообщение "Число равно 10".
Оператор elseif выполняется, ТОЛЬКО если оператор if возвращает FALSE.
Наконец, если операторы if и elseif возвращают FALSE, выполняется
оператор else и выводится сообщение "Число больше 10". В то время как
оператор elseif позволяет проверить только одно условие, структуру if можно
применять для проверки множества условий.
Следующий пример использует функцию checkdate(),
функцию explode() и оператор if … else для проверки правильности строки
даты.
<?php
$orig_date = "09/19/2023";
$date = explode("/", "$orig_date");
$month = $date[0];
$day = $date[1];
$year = $date[2];
$result = checkdate($month, $day, $year);
if ($result == true) {echo "Правильная дата";}
else{echo "Неправильная дата!";}
?>
Правильная дата
Операторы if можно использовать "в одиночку" либо как часть
оператора if...else или if...elseif...else. В любом случае вы обнаружите, что эта
структура будет важным элементом в любой программе.

Оператор switch
В дополнение к операторам if, рассмотренным в предыдущем разделе,
PHP включает четвертый тип условного оператора, называемый
оператором switch. Оператор switch очень похож или является альтернативой
для команд if...else if...else. Оператор switch проверяет условие. Результат этой
проверки определяет, какой case выполняется. switch используется обычно,
когда ищут точный (равенство) результат, вместо условия больше или меньше.
При проверке диапазона значений должен применяться оператор if.
switch – используйте этот оператор для выбора одного из нескольких
блоков кода для выполнения.
Ниже представлен синтаксис оператора switch.
<?php
switch (выражение) {
case "значение1":// код, который будет выполнен, если выражение =
значение1;break;
case "значение2":// код, который будет выполнен, если выражение =
значение2;break;
default:// код, который будет выполнен, если выражение не равно ни
значение1, ни значение2;
}
?>
Подобно оператору if строки кода в операторе switch заключаются в
фигурные скобки.
Эти скобки определяют начало и конец оператора switch. Следующий
пример демонстрирует использование оператора switch.
<?php
$number = 25;
switch ($number) {
case 40:echo "Значение \$number равно 40"; break;
case 25:echo "Значение \$number равно 25"; break;
default: echo "Значение \$number отлично от 25 и 40";
}
?>
Оператор switch может включать множество операторов case. В
предыдущем примере показаны два оператора case. Создается
переменная $number, которой присваивается значение 25.
Оператор switch используется для сравнения значения $number с другими
значениями. Проверяемое (сравниваемое) выражение (в данном
случае $number ) помещается внутри скобок сразу после оператора switch.
Затем вызывается последовательность операторов case для сравнения
выражения с другими значениями. Эти значения помещаются сразу после
оператораcase. (Примечание: если проверяемые значения являются строками,
они должны заключаться в кавычки.) За значением, которое сравнивается с
выражением, следует двоеточие ( :). Операторы case аналогичны
конструкциям if и elseif. Если значение оператора case будет true, то
выполняется код, связанный с этим оператором, и оператор break.
Оператор breakприводит к завершению оператора switch. Остальные
операторы case проверяться не будут. В конце оператор switch содержит
инструкцию default. Она аналогична оператору else. Если ни один из
операторов case не будет выполнен (не будет иметь значение TRUE ),
выполняется оператор default. Здесь одновременно происходит несколько
вещей:

1. проверяется условие switch и находится значение ( $number == 25 );


2. значение условия передается по очереди операторам case ;
3. если это значение совпадает со значением case, выполняется код этого
блока. Оператор break приводит к завершению оператора switch.
Остальные операторы case не проверяются;
4. если проверяемое значение не совпадает ни с одним из значений case,
выполняется раздел default ;
5. в приведенном выше примере, так как выражение "значение $number"
равно 25, выполняется второй оператор case, и в окне браузера
выводится текст "Значение $number равно 25".
Циклические структуры

Циклы while
В программировании часто необходимо повторить один и тот же блок
кода несколько раз. Это можно реализовать с помощью операторов цикла.
Язык PHP содержит несколько типов операторов цикла. Данный раздел
рассматривает цикл while.
Оператор while циклически повторяет блок кода, пока указанное
условие имеет значение true. Другими словами, оператор while будет
выполнять блок кода, если и пока условие будет истинным.
Базовый синтаксис цикла while показан ниже.
while (условие) { выполняемый код; }
Код в цикле while будет повторно выполняться, пока условие в начале
цикла имеет значение true. Блок кода, связанный с оператором while, всегда
заключается в фигурные скобки.
Следующий пример демонстрирует цикл while, который будет
выполняться, пока значение переменной $number будет больше или равно 2.
<?php
$number = 5;
while ($number >= 2) {
echo $number . "<br/>";
$number -= 1;
}
?>
В приведенном выше примере переменная $number получает начальное
значение, равное 5. Цикл while выполняется, пока условие ( $number >=2 ),
или значение $number больше или равно 2, и печатает в окне браузера
значение $number. В конце блока цикла значение $number уменьшается на 1.
Ниже показан вывод, создаваемый примером цикла.
5
4
3
2
При первом выполнении значение $number равно 5. Так как 5 больше 2,
используется оператор echo для вывода значения 5. При выводе
присоединяется <br/>, чтобы создавать возврат каретки при каждом
выполнении цикла. Затем значение $number уменьшается на 1. Во время
второй итерации значение $number равно 4. Так как 4 больше 2, то
оператор echo выводит значение 4. Этот процесс продолжается, пока
значение $number равно 3 и 2. Когда $number равно 2, оператор echo выводит
значение 2, а значение $number затем уменьшается на 1. Так как 1 не больше
и не равно 2, то условие больше не выполняется, и цикл while заканчивается.
Циклы do while
Оператор do...while повторяет циклически блок кода, пока определенное
условие принимает значение true. Другими словами, оператор do…while будет
выполнять блок кода, если и пока условие будет выполняться (т.е. оцениваться
как true ).
Цикл do...while аналогичен по своей природе циклу while,
рассмотренному в предыдущем разделе. Ключевое различие состоит в том, что
тело цикла do...while будет обязательно выполнено как минимум один раз. Это
связано с тем, что оператор условия оценивается в конце оператора цикла
после выполнения тела цикла.
Базовый синтаксис цикла do…while показан ниже.
do { выполняемый код; }
while (условие);
Выполнение кода внутри цикла do…while будет повторяться, пока
условие в конце цикла будет оцениваться как true. Блок кода, связанный с
оператором do…while, всегда размещается внутри фигурных скобок.
Следующий пример демонстрирует цикл do…while, который
продолжает выполняться, пока переменная $number будет больше или равна
2.
$number = 5;
do {
echo $number . "<br/>";
$number -= 1;
}
while ($number >= 2);
В приведенном выше примере переменная $number инициализируется
значением 5. Цикл do…while выполняется до тех пор, пока справедливо
условие ( $number >=2 ) или $number больше или равно 2, выводя
значение $number в окне браузера. В конце блока цикла
значение $number уменьшается на 1.
Ниже показан вывод, создаваемый примером цикла:
5
4
3
2
Во время первого выполнения значение $number равно 5. Так как
условие для выполнения цикла не проверяется, пока цикл не будет выполнен
один раз, то выводится значение $number, равное 5. Затем
значение $number уменьшается на 1, становясь равным 4. Так как 4 больше 2,
снова выполняется цикл, и во время второй итерации используется
оператор echo для вывода значения 4. В вывод добавляется <br/>, чтобы
создать возврат каретки при каждом выполнении цикла. Этот процесс
продолжается, пока значение $number равно 3 и 2. Когда$number становится
равным 2, оператор echo выводит значение 2, и
значение $number уменьшается затем до 1. Так как 1 не больше и не равно 2,
то условие больше не выполняется, и цикл do…while заканчивается.

Цикл for
Оператор цикла for используется, когда известно, сколько раз
необходимо выполнить оператор или последовательность операторов. В связи
с этим цикл for называют точным циклом.
Базовый синтаксис цикла for показан ниже.
for (инициализация; условие; шаг цикла) {
выполняемый код;
}
Оператор цикла for имеет три параметра. Первый параметр
используется для инициализации переменных, второй содержит условие, а
третий включает в себя приращения, требуемые для реализации цикла. Блок
кода, связанный с оператором for, всегда заключается в фигурные скобки
( {} ).
Следующий пример демонстрирует цикл for для 4-кратного вывода
сообщения "Добро пожаловать в мир PHP":
<?php
for ($counter=1; $counter < 5; $counter++) {
echo "Добро пожаловать в мир PHP!<br/>";
}
?>
В приведенном выше примере цикл for включает три параметра,
которые выполняют следующие задачи:

1. Переменная $counter инициализируется значением 1.


2. $counter < 5 определяет условие, которое должно выполняться для
выполнения цикла.
3. $counter++ увеличивает значение переменной $counter при каждом
выполнении цикла.

Ниже показан вывод, созданный этим примером цикла.


Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!
Добро пожаловать в мир PHP!
При первом выполнении переменная $counter инициализируется
значением 1. Так как 1 меньше 5, $counter увеличивается на 1. Затем
используется оператор echo для вывода строки" Добро пожаловать в мир
PHP!". К выводу присоединяется <br/>, чтобы создавать возврат каретки при
каждом выполнении цикла. Во время второй итерации значение $counter будет
равно 2. Так как 2 меньше 5, то оператор echo снова выводит строку "Добро
пожаловать в мир PHP!". Этот процесс продолжается при значениях $counter,
равных 3 и 4. Когда $counter становится равным 5, условие больше не
выполняется, и цикл for заканчивается.
Циклы for используются также в качестве удобного способа выполнения
итераций по значениям массива. Вспомните, что массивы состоят из
элементов и индексов. Каждый элемент имеет связанный с ним индекс.
Первый индекс массива с числовыми индексами равен 0. До сих пор при
выводе элементов массива требовалось выводить каждый элемент отдельно.
Для больших массивов это может потребовать много времени и оказаться
громоздким. Циклы for решают эту проблему. В следующем примере
создается массив с 5 элементами. Затем применяется цикл for для вывода всех
значений массива.
<?php
//Создается новый массив, содержащий 5 значений цвета
$colors = array('red', 'green', 'blue', 'yellow','white');
// Цикл for используется для итераций по массиву и вывода каждого элемента
for ($i = 0; $i < sizeof($colors); $i++)
{ echo "Значением элемента массива $i+1 является $colors[$i].";}
?>
Массив $colors содержит пять элементов – $colors[0] = "red", $colors[1]
= "green", $colors[2] = "blue", $colors[3] = "yellow", и $colors[4] = "white".
Создается цикл for. Переменной счетчику $i сначала задается значение 0, что
соответствует первому элементу массива. Затем задается условие,
проверяющее, что значение счетчика $i меньше sizeof($colors) или общего
числа элементов массива. Здесь мы знаем, что размер массива равен 5, однако
в большинстве случаев размер массива во время выполнения неизвестен.
Наконец, переменная счетчика увеличивается на 1 во время каждой итерации.
На каждом шаге выполнения цикла выводится строка – "Значением элемента
массива $i+1 является $colors[$i]". Значения $i+1 и $colors[$i] расширяются и
создают при выводе литеральные значения. Цикл выполняется, пока счетчик
не превысит число элементов или размер массива. Получаемый вывод показан
ниже.
Значением элемента массива 1 является red.
Значением элемента массива 2 является green.
Значением элемента массива 3 является blue.
Значением элемента массива 4 является yellow.
Значением элемента массива 5 является white.
Циклы являются полезными конструкциями, которые активно
используются при программировании.
Цикл foreach
Конструкция foreach является вариацией цикла for и применяется для
итераций на массивах. Существуют две различные версии цикла foreach.
Базовый синтаксис обеих версий цикла foreach показан ниже.
foreach ($array as $value)
{ оператор }

foreach ($array as $key => $value)


{ оператор }
Первый тип цикла foreach используется для итераций по массиву,
обозначенному как $array. Во время каждой итерации цикла текущее значение
массива присваивается переменной$value, и счетчик цикла увеличивается на
единицу. Цикл продолжается, пока foreach не достигнет последнего элемента
или верхней границы заданного массива. Во время каждой итерации значение
переменной $value можно использовать любым способом, но исходное
значение массива не изменяется. Чтобы изменить реальное значение массива,
необходимо добавить символ "&". Любые изменения, сделанные в &value,
будут присвоены элементу массива с текущим индексом.
Следующий пример демонстрирует, как цикл foreach применяется для
итераций по значениям массива.
<?php
$my_array = array('red','green','blue');
echo "Различные цвета включают: ";
foreach($my_array as $value)
{
$colors = $value . " ";
echo $colors;
}
?>
Во время каждой итерации имя цвета, связанное с текущим элементом
массива, присваивается переменной $colors. Также добавляется одиночный
пробел между соседними именами цветов для целей вывода. Когда цикл
достигает конца массива, создается следующий вывод.
Различные цвета включают: red green blue
Вторая форма цикла обеспечивает такие же функции, что и первая, но
дополнительно присваивает на каждом шаге итерации индекс текущего
элемента массива или ключ переменной$key. В предыдущем примере
массив $my_array содержит три элемента: $my_array[0] = "red", $my_array[1] =
"green", и $my_array[2] = "blue". В то время как переменная $value содержит
значения элементов массива red, green и blue, переменная $key содержит
индексы элементов массива 0, 1, и 2.

Вам также может понравиться