ЛАБОРАТОРНАЯ РАБОТА № 3 АЛЬТЕРНАТИВНЫЙ СИНТАКСИС PHP[1]
Цель работы: научиться использовать альтернативный синтаксис PHP.
Верстальщику совсем не обязательно знать язык программирования, чтобы изменять дизайн. Для него главное – знание HTML структуры документа. В данном случае разметка более приоритетна, чем сам код программы.
Именно для этого и используется альтернативный синтаксис PHP. Его используют в виде вставок в HTML разметку. Код должен быть максимально понятен, поэтому он упрощён для удобства верстальщика.
Примеры использования альтернативного синтаксиса
Рассмотрим примеры использования синтаксиса. Например, для вывода переменной внутри HTML структуры нужно написать:
<?php echo $string; ?>
В альтернативном варианте это можно записать как:
<?= $string ?>
УПРАВЛЯЮЩИЕ СТРУКТУРЫ PHP
Управляющие структуры также могут быть записаны в альтернативном виде. Это позволяет не только выводить переменные в шаблоне, но и прописывать условия вывода определённых данных, различные циклы.
1. Цикл foreach
Цикл foreach можно записать так:
<? foreach ($array as $item): ?>
<li><?=$item?></li>
<? endforeach; ?>
В данном случае вместо фигурных скобок используется закрывающее выражение endforeach. Также обратите внимание, что открывающая конструкция завершается двоеточием, а закрывающая – точкой с запятой.
Также в альтернативном варианте можно записать такие структуры:
for, while, if-else, switch-case.
Рассмотрим примеры.
Цикл for
<? for ($item = 1; $item <= 10; $item ++): ?>
<li><?= $item ?></li>
<? endfor; ?>
Цикл while
<? while ($item < 10): ?>
<li><?= $item ?></li>
<? endwhile; ?>
Условный оператор if-else
<? if ($item > 10): ?>
Значение больше десяти.
<? elseif ($item < 10): ?>
Значение меньше десяти.
<? else: ?>
Значение равно десяти.
<? endif; ?>
Конструкция выбора switch-case
В случае оператора switch нужно обратить внимание на то, что нельзя разрывать условие и первое выражение.
<? switch ($item):
case 1: ?>
Значение равно 1.
<? break; ?>
<? case 2: ?>
Значение равно 2.
<? break; ?>
<? case 3: ?>
Значение равно 3.
<? break; ?>
<? default: ?>
Значение не известно.
<? endswitch; ?>
Задания. Решить, используя альтернативный синтаксис.
1. Если число текущей даты четное, вывести на веб-страницу текст «Сегодня день скидок!» в противном случае вывести текст «Рады вас приветствовать на нашем сайте»
2. Написать функцию, генерирующую случайную дату. Если дата предшествует текущей, вывести текст «С даты (вставить дату) прошло N (вычислить) дней», иначе вставить текст «До даты (вставить дату) осталось N (вычислить) дней»
3. Сформировать массив содержащий данные о товарах (наименование, цена, количество, стоимость, дата окончания срока годности (случайная дата)). Выводить на экран только те товары, срок годности которых не истек.
4. Дан массив случайных двузначных чисел, количество элементов случайной число в промежутке [10, 100]. Вывести на экран первые N элементов массива, сумма которых больше 1000.
5. Запишите в переменную пароль пользователя. Если пароль содержит цифры, буквы, длина его превышает 8 символов, вывести текст «пароль надежный», иначе вывести сам пароль и текст «Пароль ###### не надежен, придумайте новый!»
[1] https://webformyself.com/alternativnyj-sintaksis-php/