Прежде чем мы поговорим о синтаксисе PHP, давайте сначала определим, что имеется ввиду под словом синтаксис.
Синтаксис
— правила, которые необходимо соблюдать, чтобы писать правильно структурированный код.
Синтаксис PHP и его семантика похожи на большинство других языков программирования (C, Java, Perl). С той лишь разницей, что код PHP встраивается в html разметку страницы. Весь код PHP должны содержаться в следующих тегах:
Или просто:
Если вы не хотите проблем, то пишете по стандартной форме (т.е. ?php), а не в сокращенном виде. Это гарантирует, что ваши скрипты будут работать на серварах с разными настройками.
Как сохранять ваши PHP страницыЕсли у вас есть PHP код, который включен в HTML и вы хотите, чтобы браузер интерпретировал все правильно, то вы должны сохранить файл с расширением.php, вместо стандартного.html. Так что не забудьте проверить, что вы сохраняете файлы правильно. Например, вместо index.html должно быть index.php.
Пример простой html страницы с PHP кодомНиже приведен пример простой странички, которая содержит в себе php код. Вы можете брать ее за основу для своих проектов:
My First PHP Page
Вот что мы получим в результате:
Hello World!
Если вы сохраните этот файл (например, helloworld.php) и закинете его на сервер с поддержкой PHP, а затем загрузите ее в браузере, то вы должны увидеть надпись «Hello World!». Если этого не произошло, пожалуйста, проверьте, что Вы все сделали правильно и четко следовали примеру. Или задавайте вопросы в комментариях.
Мы использовали команду echo, чтобы написать «Hello World!». Конечно, мы вернемся к этой команде чуть позже, в следующих уроках.
Точка с запятой!Как вы можете заметить, в приведенном выше примере не было точки с запятой после строки кода PHP. Точка с запятой означает конец операции в PHP и никогда не стоит о ней забывать. Например, если бы мы повторили нашу команду вывода надписи «Hello World!» несколько раз, то мы должны поставить точку с запятой в конце каждой строки.
My First PHP Page
Результат:
Hello World! Hello World! Hello World! Hello World! Hello World!
ПробелыКак и в HTML, пробелы между PHP выражениями игнорируются. То есть если в коде 20 пустых строк, например, для форматирования, то ничего страшного, они не будут видны в результате. Так же как и табуляция (Tab).
My First PHP Page
Результат:
Hello World!Hello World!
Ну вот и все на этот раз. Вы научились встраивать php код в html страницу, сохранять их с соответствующим расширением.php. Рассмотрели несколько примеров построения страницы, а том числе и с использованием команды echo, к которой мы обязательно вернемся чуточку позже. Ну все, практикуйтесь и переходите к следующему уроку!
Рассмотрим несколько основных и чаще всего встречающихся элементов, чтобы в дальнейшем не смотреть на набор символов и не гадать, что это такое, для чего нужно, и как работает.
А в следующем уроке уже начнём писать скрипты и смотреть что из этого получится.
Пример 1. Простой скрипт вывода на экран монитора.
Первое что бросается в глаза — это:
— открывающий и закрывающий теги, или маркеры PHP. Они всегда присутствуют в начале и конце кода.
PHP поддерживает несколько вариантов открывающих и закрывающих тегов.
— полный (классический) вариант начального и конечного тегов, рекомендуется к постоянному использованию.
— сокращённый вариант, работает при включённой директиве short_open_tag (включена по умолчанию). Это встроенная в php директива, которая определяет разрешена ли короткая запись тегов php.
Однако лучше применять классический вариант, особенно при совместной работе с XML-кодом, во избежание неоднозначности в интерпретации.
…….. — расширенный вариант, доступен в любой момент без дополнительных настроек (встречается редко)
— специальный вид для вывода простого выражения, является по сути сокращённым вариантом от , удобен при написании скрипта состоящего из одного выражения, работает при включённой директиве short_open_tag.
Любой php код всегда начинается и заканчивается этими тегами. Всё что находится внутри них, называется скрипт, или сценарий, или программа.
error_reporting (- 1 ) — инструкция, включает показ всех предупреждений об ошибках, в написанном Вами, скрипте. Во время обучения желательно использовать постоянно.
echo — инструкция выводящая на экран монитора то, что в ней написано. Это может быть текст, числа, разметку html, то есть всего, что есть на веб странице.
Текст обязательно заключается в кавычки, а числа могут быть в виде действий, и на мониторе будет показан результат этого действия. Вот уже и калькулятор!
+
— сложение
—
— вычитание
*
— умножение
/
— деление
%
— остаток при делении
—
перед строкой — отрицание
называются арифметическими операторами php. Есть ещё много различных операторов. Это и строковые, и логические, и операторы присвоения, и ещё несколько видов операторов, но о всех них немного погодя.
Каждое выражение заканчивается точкой с запятой.
Пример 2. Переменные и константы.
$var и $vAr — переменные
Переменные — это хранилища информации. Вся информация, которую Вы заложите в программу, храниться в переменных. Начинаются они всегда знаком доллара, а название даёт программист, то есть Вы.
Название переменной может состоять из любого количества букв, цифр и знаков подчёркивания, но начинаться с цифры не может. Имена переменных чувствительны к регистру. Одно и тоже слово написанное прописными и заглавными буквами будет восприниматься как два разных имени.
Начинается имя всегда с маленькой буквы. Количество переменных в скрипте не ограничено.
= — оператор присвоения
define (" I" ,1000 ,true ); — константа
" I" — название константы
1000
— значение константы
true
— учитывается регистр букв, если вместо него поставить false, то регистр учитываться не будет.
Константа, в php, всегда определяется функцией define(), и в ней хранятся данные, которые ни в коем случае не меняются во время работы программы. Название константы всегда пишется заглавными буквами.
Пример 3. Комментарии.
Считается хорошим тоном снабжать скрипты подробными комментариями.
После знаков // и # браузер игнорирует всё, что находится до конца строки.
Пример 4. Функция.
function — функция, обрабатывает определённое количество действий, направленных на получение конкретного результата.
arr_max
— название функции
($arr
)
— аргументы (входящие данные) функции
Всего функций в php более 4000, но так как все они разбиты по категориям, то отыскать в справочнике нужную, большого труда не составляет.
Пример 5. Управляющие конструкции.
Конструкции применяются для управления пошаговым исполнением кода.
$flag1
, $flag2
, $flag3
— переменные
if
и else
— условные операторы, то есть проверяющие условие — ложь или истина.
&&
— логический оператор, читается как соединительный союз «и».
||
— логический оператор, читается как разделительный союз «или»
echo
— инструкция вывод на экран
Вот теперь мы будем знать хотя бы несколько основных названий, и назначений элементов скрипта. Вообще-то в php их ещё предостаточно, и в дальнейшем, как в теории так и на практике, мы их подробно рассмотрим.
Перемена
-Абрам, ты знаешь к нам приезжает Эйнштейн.
-А что это за фраер?
-Это тот самый фраер, что изобрел теорию относительности.
-Ради бога. Я не знаю теорию относительности.
-Как ты не знаешь теорию относительности? Я объясню.
Вырываем у тебя три волосины — это много?
-Нет.
-Бросаем тебе в суп — это много?
-Да.
-Понял?
-Нет.
-Объясняю для понял. Суешь мне нос в жопу. У тебя нос В жопе, у меня нос в жопе. Выражение одно — ощущения разные! Понял?
-И что… он хочет с этой хохмой ехать к нам в Одессу?
PHP поддерживает альтернативный синтаксис для некоторых управляющих конструкций, а именно для: if, switch, while, for и foreach . Основная форма альтернативного синтаксиса заключается в замене открывающей фигурной скобки на двоеточие (:), завершающая фигурная скобка заменяется на ключевое слово endif, endswitch, endwhile, endfor и endforeach , которое соответствует используемой конструкции.
ifПри использовании в управляющих конструкциях альтернативного синтаксиса, фигурные скобки не ставятся, даже если используется несколько инструкций. После условия ставится двоеточие, после которого указывается одна или более инструкций, в самом конце, для указания завершения общей конструкции используется ключевое слово endif .
Замечание : если для определения нескольких условий if/elseif используется альтернативный синтаксис, в этом случае можно использовать только elseif в одно слово, т.е. вы не должны разделять else if в два слова, так как это вызовет фатальную ошибку в PHP.
Смешивание двух видов синтаксиса в одной конструкции не поддерживается, это правило относится ко всем операторам указанных в этой главе.
Правила альтернативного синтаксиса описанные в этом разделе также действуют и для остальных управляющих структур. Поэтому ниже будут просто приведены примеры.
switch while forОбратите внимание, для вложенных конструкций, может применяться и синтаксис включающий фигурные скобки, но так делать не рекомендуется, так как это снижает читаемость кода.
Дополнительные сведения
Теперь рассмотрим вопрос о том, когда лучше использовать альтернативный синтаксис, а заодно вы узнаете, как еще можно использовать управляющие конструкции.
Приведем простой пример:
A равно 5
В приведенном примере, блок HTML-кода "A равно 5" вложен внутрь конструкции if написанной с альтернативным синтаксисом. HTML-блок будет показан только в том случае, если переменная $a будет равна 5 .
Как вы уже могли догадаться из примера выше, альтернативный синтаксис можно использовать для вставок в HTML-разметку. Так как в этом случае код php и html будут разделены, это упрощает верстку страницы.
Рассмотрим примеры для других конструкций:
Значение равно 1.
Значение не известно.
Конечно не обязательно использовать представленный синтаксис, можно пользоваться и стандартной записью, с использованием фигурных скобок, но в этом случае код будет менее читабельным.
A равно 5
A не равно 5
Синтаксис оператора foreach и его альтернативная запись будут рассмотрены позднее, а именно во время изучения массивов и объектов.
Позволяет организовывать выполнение фрагментов кода по условию.
Синтаксис:
If (выражение) statement
Может иметь неограниченную степень вложенности в другие IF.
If($a > $b) print "$a больше $b";
elseРасширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.
Выражение ELSE выполняется только если IF равно FALSE.
If($a>$b) { echo "a больше b"; } else { echo "a не больше b"; }
elseifЯвляется комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.
If ($a > $b) { echo "a больше b"; } elseif ($a == $b) { echo "a равно b"; } else { echo "a меньше b"; }
if ... endifОдин из возможных вариантов группирования операторов с оператором IF.
Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.
If ($a == 1): echo "a равно 1"; elseif ($a == 2): echo "a равно 2"; else: echo "а не равно 1 и 2"; endif; A=5
Блок HTML-кода A=5 будет виден, если выполнется условие $a==5
whileПростейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.
Синтаксис:
WHILE(условие)выражения
Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис: WHILE(условие)выражения... ENDWHILE;