Разделение инструкций
Как и в языках программирования C или Perl, в языке PHP обязательно заканчивать инструкции
символом точки с запятой, который указывают в конце каждой инструкции. Закрывающий тег блока PHP-кода
автоматически применяет точку с запятой, поэтому не обязательно ставить точку с запятой в конце последней
строки блока с PHP-кодом. PHP не включает в вывод перевод строки, который идёт сразу за закрывающим тегом.
Пример #1 Пример вывода текста между закрывающим тегом и переводом строки
<?php echo "Какой-то текст"; ?>
Нет новой строки
<?= "А сейчас, новая строка" ?>
Результат выполнения приведённого примера:
Какой-то текстНет новой строки А сейчас, новая строка
Пример #2 Примеры входа в режим PHP-парсера и выхода из него
<?phpecho "Это тест\n";?>
<?php echo "Это тест\n" ?>
<?php echo "Не закрываем блок кода в конце файла PHP-тегом\n";
Замечание:
Тег, которым закрывается блок PHP-кода в конце файла, необязателен,
а при подключении файлов выражением include
или require пропуск тега иногда приносит пользу,
чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже
добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода
пропуск тега также помогает исключить нежелательные пробелы в конце частей,
которые сгенерировали подключаемые файлы.
Нашли ошибку?
Krishna Srikanth ¶
18 years ago
Do not mis interpret
<?php echo 'Ending tag excluded'; with<?php echo 'Ending tag excluded';
<p>But html is still visible</p>The second one would give error. Exclude ?> if you no more html to write after the code.
M1001 ¶
2 years ago
You are also able to write more than one statement in one line, just separating with a semicolon, example:
<?php
echo "a"; echo "b"; echo "c";
#The output will be "abc" with no errors
?>
Поясним работу синтаксического анализатора РНР. Предположим, что вы
имеете файл, который содержит некоторый код HTML и некоторый код РНР.
Допустим, что этот документ имеет расширение .php. При запросе этого файла
браузером происходит следующее:
Этот метод выполнения кода называется серверным. Метод, при котором
исполнение кода, такого, как JavaScript, выполняется браузером,
называется клиентским.
Чтобы смешивать в одном документе код РНР вместе с кодом HTML,
РНР-код должен быть отделен от HTML-кода. В следующем знакомстве вы узнаете,
как это сделать, используя начальный и конечный тэги РНР.
Синтаксический анализатор РНР распознает несколько различных
тэгов начала и конца РНР-кода. Он пытается выполнить все то, что
расположено между этими тэгами, поэтому лучше, чтобы это был правильный
РНР-код. В приведенной ниже таблице показаны три основных типа тэгов
начала и конца РНР-кода.
В дальнейшем вы будете использовать все три типа тэгов, и все они будут
работать без ошибок.
1. Откройте любой текстовый редактор, например Блокнот (Notepad).
2. Введите следующий код, в котором используется первый тип тэгов:
3. Введите код, в котором используется второй тип тэгов:
4. Введите код, в котором используется третий тип тэгов:
5. Сохраните созданный файл под именем phptags.php в корневой папке для документов вашего Web-сервера
(для Web-сервера Apache в операционной системе Windows — это папка
C:WebServer[nic]HOMElocalhostWWW.
(
nic — это короткий, легко запоминающийся оригинальный псевдоним
студента, например: VIP; oblako; nektar; judgin; mhk. Ваш nic должен
быть коротким, легко запоминающимся и благозвучным)
6. Запустите сервер web-сервер Apache щелчком по пиктограмме Start server на панели задач
http://localhost/phptags.php
и нажмите клавишу Enter. B рабочем окне браузера появится результат работы скрипта:
Рис. 1.1. Результат работы скрипта phptags.php
Если вы используете РНР внешнего Web-cepвepa при повторении примеров этой книги,
то замените localhoct на доменное имя Web-сервера в поле ввода адреса.
Совместное использование кодов.
В предыдущем знакомстве созданный вами файл phptags.php состоял из
трех фрагментов РНР-кода, каждый из которых печатал определенный текст HTML.
В этом знакомстве мы создадим сценарий, в котором РНР-код будет находиться
внутри HTML, и вы увидите, что эти два типа кодов могут мирно
сосуществовать в одном документе.
вашего Web-сервера C:WebServer[nic]homelocalhostWWW.
в поле Адрес: введите:
http://localhos/firstscript.php
и нажмите клавишу Enter. В рабочем окне браузера появится
результат работы скрипта (Рис. 1.2)
Рис. 1.2. Результат работы скрипта firstscript.php
(ViewSource HTML). На экране появится рабочее окно текстового
редактора Блокнот с исходным кодом HTML-документа (Рис. 1.3).
Рис. 1.3. Исходный код HTML-документа
Как видно из Рис. 1.3 исходный код документа не содержит кода РНР. Однако фрагмент кода
был выполнен.
Этот фрагмент кода содержит одну инструкцию, состоящую из трех элементов:
команды (echo), строки (<Р><еm> Привет всем! Я использую РНР!</еm></Р>),
и признака конца инструкции (;).
Обратите внимание на команду echo, эта команда
наиболее часто используется для вывода информации. Например,
в приведенном выше примере, — для выдачи результирующего кода HTML:
<P><em> Привет всем! Я использую РНР!</еm></Р>
В следующем упражнении будет рассказано о часто встречающихся
ошибках, которые, мы надеемся, вы не будете допускать
Важность пpuзнaкa конца инструкции.
Признак конца инструкции или символ точка с запятой (;) является
обязательным в конце любой команды. Признак конца инструкции сообщает
синтаксическому анализатору РНР, что параметры команды закончились,
и следует перейти к следующей инструкции.
Если вы не закончите инструкцию точкой с запятой, то
синтаксический анализато РНР выдаст сообщение об ошибке.
В следующем шаге мы покажем, в каком случае может быть получено
сообщение об ошибках и какие действия вы должны предпринять, чтобы их устранить.
документов вашего Web-сервера.
http://localhost/errorscript.php
и нажмите клавишу Enter.
В рабочем окне браузера появится сообщение об ошибке (Рис. 1.4).
Рис 1.4. Сообщение об ошибке.
Как видно из Рис. 1.4, синтаксический анализатор РНР выдал сообщение
об ошибке в 11-й строке файла. Если внимательно посмотреть на 10 и 11
строки созданного нами документа
echo «<Р>Я пробую создать ошибку»
echo «<Р>Oшибка получилась?»;
то можно заметить, что в строке 8 отсутствует признак конца инструкции,
а строка 9 начинается с новой команды. Синтаксическому анализатору РНР
такая команда не понятна, и он сообщает вам об ошибке синтаксиса.
Эту ошибку довольно легко исправить.
errorscript.php.
В результате строка примет вид:
echo «<Р>Я пробую создать ошибку»;
http://localhost/errorscript.php
и нажмите клавишу
Enter. В рабочем окне браузера появится результат
работы исправленного скрипта (Рис. 1.5).
Рис. 1.5. Результат работы исправленного скрипта errorscript.php
Из Рис. 1.5 видно, что после устранения ошибки в строке 10,
синтаксический анализатор РНР успешно обработал файл и выдал результат.
Избегайте этой и других ошибок, уделяя особое внимание использованию
точки с запятой (;) и кавычки («), о которой вы узнаете в следующем упражнении.
Маскирование специальных символов в сценарии
Очевидно, вы запомнили, что любая инструкция вашего PHP-кода
должна заканчиваться символом точка с запятой. Теперь мы познакомимся
с тем, как маскировать знак «кавычки», который вы хотите вывести на экран.
Это тоже надо будет запомнить. Когда вы используете кавычки внутри других
кавычек, то внутренняя пара должна быть замаскирована, скрыта от внешней
пары с помощью символа маскирования — обратной косой линии ().
В следующем ниже примере мы покажем, что произойдет, если вы не
будете использовать символ обратной косой линии, и как исправить такую ошибку.
в папку документов вашего Web-сервера.
http://localhost/errorscript2.php и нажмите клавишу Enter.
B рабочем окне браузера появится другое сообщение об ошибке (Рис. 1.6).
Рис. 1.6. Сообщение об ошибке в сценарии.
Посмотрите 10 строку введенного РНР-кода:
echo «<Р>Я думаю это действительно «правильно»!</Р>»;
Здесь внутренняя пара кавычек («правильно») используется внутри
внешней пары кавычек без символа маскирования, что и вызывает
сообщение об ошибке. Эта ошибка также легко исправляется. Чтобы
исправить ошибку, выполните следующие действия:
echo «<P>я думаю это действительно «правильно»!</Р>»;
и нажмите клавишу Enter. B рабочем окне браузера появится
результат работы исправленного скрипта (Рис. 1.7).
Рис. 1.7. Рабочее окно браузера после исправления ошибки.
Теперь перед внутренними кавычками стоит символ маскирования ().
Синтаксический анализатор РНР пропустит их, зная, что символы, следующие
за символом маскирования, должны быть просто напечатаны.
Комментирование ваших программ
Комментирование программ — это замечательная привычка. Ввод комментариев в
HTML-документ поможет вам (а также другим, которым понадобится редактировать
ваш документ позже) отслеживать отдельные фрагменты большого документа.
С помощью комментариев вы можете вставить в текст программы собственные
примечания, которые помогут вам в процессе ее разработки и отладки.
HTML-комментарии игнорируются браузером и содержатся между тэгами
<!— и —>. Например, следующий комментарий напомнит вам, что ниже
расположены коды вашего логотипа:
<!— Логотип расположен здесь —>
В РНР тоже используются комментарии, которые игнорируются синтаксическим
анализатором. PHP-комментариям обычно предшествует двойной слеш, например:
// Это комментарии в сценарии РНР
Но могут быть использованы и другие типы комментариев, такие как:
# Это стиль комментария командного языка операционной системы
и
/* Это С-стиль комментария, который будет расположен на двух строках */
Создадим сценарий, содержащий различные типы комментариев.
в папку для документов вашего Web-сервера.
http://localhost/comments.php
и нажмите клавишу Enter. В рабочем окне браузера вы не увидите абсолютно ничего (Рис. 1.8).
Рис. 1.8. Рабочее окно браузера с загруженной страницей comments.php
Пустая страница получилась потому, что все, что вы набрали,
было HTML-комментарием, который игнорируется. Поскольку PHP-комментарии
также игнорируютcя синтаксическим анализатором РНР, то фрагмент PHP-кода
не содержит никаких действительных команд.
На экране появится рабочее окно текстового редактора Блокнот (Notepad)
с исходным текстом HTML-документа (Рис. 1.9).
Рис. 1.9. Исходный код HTML-документа
Обратите внимание на то, что исходный код HTML-документа содержит
только HTML-комментарии, комментарии РНР отсутствуют.
НTML и PHP-комментарии будут очень часто использоваться в этой книге
для пояснения фрагментов кода программ. Читайте комментарии и попытайтесь
выработать у себя привычку использовать их. Написание аккуратного,
свободного от ошибок исходного кода программ, с комментариями и отступами,
могут сделать вас известным и среди разработчиков, потому что они без
особого труда смогут разобраться, что пытается сделать ваша программа.
В этой части методического пособия вы узнаете, как сделать следующее:
Что тaкoe переменная?
В переменной могут храниться значения определенного типа,
такие как «синий» или «19349377«. После присвоения значения
переменной вы можете сослаться на эту пере-менную в любом
месте вашей программы, и это значение будет всегда оставаться
неизменным до тех пор, пока вы сами не измените его, о чем будет рассказано ниже.
Чтобы создать переменную, выполните следующие действия:
создать переменную, которая будет хранить имя пользователя, то
подходящим именем для переменной будет usemame (имя пользователя).
$username
ей значение. И заключите значение в кавычки, как показано ниже:
$username=»Иванов»
очкой с запятой (;):
$username=»Иванов»;
Итак, мы создали переменную с именем «username» и присвоили ей значение «Иванов».
Далее в этой главе мы произведем некоторые интересные действия (например,
математические) с вашими переменными.
Имена для ваших переменных.
Из предыдущего знакомства вы узнали, что имена переменных начинаются с
символа доллара ($). Имена переменных не могут начинаться с цифры, но могут
их содержать, а также содержать символ подчеркивания (_). Кроме того, имена
переменных чувстви-тельны к регистру символов, например, переменные $YOUVAR
и $youvar — две различные переменные.
Создание наполненных смыслом имен для переменных поможет вам избежать головной
боли при разработке программ. Если ваша программа имеет дело с переменными
имени пользователя и пароля, не создавайте переменные с именами $n для имени
и $р для пароля потому что эти имена не наполнены смыслом. Если вы начнете
разбираться в программе с такими именами переменных неделю спустя, то велика
вероятность того, что вы забудете, что обозначают переменные $n и $р, ведь они
могут означать «number»(номер) вместо «name» (имя) и «page» (страница) вместо
«password» (пароль).
Типы переменных РНР и их значений
При программировании в РНР вы будете иметь дело с двумя основными типами
переменных: скалярным типом и массивами. Скалярные переменные содержат только
одно значение, а массивы состоят из списка значений или даже из нескольких списков.
В описанном ранее примере мы создали переменную ($username=»Иванов»;),
которая является скалярной. Программы в этой книге главным образом будут
иметь дело со ска-лярными переменными. Вы можете найти информацию о работе с
массивами в Прило-жении В «Краткий справочник по языку РНР».
Когда вы присваиваете значение переменной, вы обычно указываете один из
следующих типов значений:
или 9922786. Вы можете также использовать восьмеричную и шестнадцатеричную
форму записи: восьмеричное число 0123 равно десятичному числу 83, а
шестнадцатеричное число 12 равно десятичному числу 18;
с дробной частью. Например, 1.5, 87.3446 и 0.88889992;
цифрами, заключенное в парные двойные (» «) или одинарные (‘ ‘) кавычки.
Перед началом программирования своего РНР сценария тщательно планируйте
назначение переменных и их имена, используйте комментарии в тексте своей
программы — это напомнит вам самим их назначение.
Создадим простой сценарий, в котором объявим различные типы переменных,
присвоим им значения и затем просто выведем их значения на экран.
законченным и правильным.
в папке с документами вашего Web-сервера.
http://localhost/printvarscript.php
и нажмите клавишу Enter.
В окне браузера появится страница с текстом (Рис. 1.10).
Рис. 1.10. Результат запроса файла printvarscript.php
На web-страничке, приведённой на рисунке 1.10 вы можете видеть результат присвоения
переменным $intvat, $floatvar и $stringvar значений, которые и были напечатаны.
Что тaкoe оператор?
Теперь мы расскажем об использовании операторов для изменения значений переменных
В предыдущем знакомстве мы уже использовали один из операторов (=)
для присвоения значений вашим переменным. Существуют и другие типы
операторов присвоения, а также другие типы операторов вообще. Основное
назначение операторов — производить некоторые действия над значениями
переменных. Это могут быть действия присвоения значения переменной,
изменения значения переменной, сравнения двух и более значений.
Операторы РНР
Перечислим основные типы операторов РНР и их основные функции:
- операторы присвоения — присваивают значения переменным. Могут
также увеличивать или уменьшать текущее значение переменной;
- арифметические операторы — они должны быть вам известны.
Это операторы сложения, вычитания, деления и умножения, которые
используются, когда необходимо вычислить значение выражения;
- операторы сравнения — применяются для сравнения двух переменных,
результаом сравнения будет истина (true) или ложь (false). Вы можете
затем выполнить какое-либо действие, основываясь на результате операции сравнения;
- логические операторы — проверяют истинность условия.
Оставшаяся часть этой главы будет посвящена описанию нескольких основных операторов,
используемых в РНР. Мы напишем сценарии для каждого из рассмотренных типов операторов.
Операторы присвоения
Вы уже видели оператор присвоения в работе. Знак равенства (=)
является основным оператором присвоения. Запомните, что = не означает
«равно чему-либо»! Для этого используется = = (двойной знак равенства),
означающий «равно чему-либо», тогда как одиночный знак равенства =
обозначает «присвоить значение».
В приведенной ниже таблице приведены различные типы операторов присвоения
и примеры их записи в сценарии.
Т а б л и ц а 1.2. Операторы присвоения
Оператор |
Пример записи |
Выполняемое действие |
+= | $a +=3 | Увеличивает текущее значение переменной на значение, находящееся справа от знака оператора |
-= | $a -=3 | Уменьшает текущее значение переменной на значение, находящееся справа от знака оператора. |
.= | $a .=»строка» | Объединяет (добавляет к) текущее значение со значением, находящимся справа от знака равенства. |
Создадим простой сценарий, показывающий, как работают эти операторы.
Этот сценарий присвоит переменным значения, затем изменит эти значения
и выведет результат на экран.
http://localhost/assignscript.php
и нажмите клавишу Enter.
В окне браузера появится страница с текстом (Рис. 1.11), на которой вы увидите
результат вычислений.
Рис. 1.11. Результат работы сценария assignscript.php.
Арифметические операции.
Арифметические операторы являются основой математики. В приведенной
ниже таблице показаны основные арифметические операторы, которые должны
быть вам xopoшо известны.
Т а б л и ц а 1.3. Арифметические операторы.
Оператор |
Пример записи |
Выполняемое действие |
+ |
$b = $a + 3; | Складывает значения |
— |
$b = $a — 3; | Вычитает значения |
* |
$b = $a * 3; | Умножает значения |
/ |
$b = $a / 3; | Делит значения |
% |
$b = $a % 3; | Определяет остаток от целочисленного деления одной переменной на другую |
вашего Web-сервера под именем arithmeticscript.php.
Внимание! В скрипте используется символ маскирования перед знаком доллара ($),
и поэтому знак доллара в браузере будет отображен как символ, иначе
начнется интерпретация его как переменной.
http://localhost/arithmeticscript.php
и нажмите клавишу Enter. B окне браузера появится страница
с результатами ваших вычислений (Рис. 1.12).
Рис. 1.12. Результат работы сценария arithmeticscript.php
Операторы сравнения
Операторы сравнения используются для сравнения двух значений.
Как и в случае с арифметическими операторами, вы уже знаете почти все
об операторах сравнения. В таблице 1.4, приведены различные
типы операторов сравнения.
Т а б л и ц а 1.4. Операторы сравнения
Оператор |
Оперделение |
= = |
Равно |
!= |
Не равно |
> |
Больше чем |
< |
Меньше чем |
>= |
Больше или равно |
<= |
Меньне или равно |
Результатом каждой из этих операций является одно из двух: либо истина
либо ложь. Вы можете, в зависимости от результата, пользуясь операторами
управления, такие как if […] else и while , выполнять определенные задачи.
Создадим простой сценарий для демонстрации результата выполнения неоторых
операторов сравнения с помощью оператора управления if…else и выведем
результат на экран.
В зависимости от результата (истина или ложь) будет выполнен один из
операторов вывода текста на печать:
Обратите внимание, что выражение сравнения должно помещаться в круглые скобки.
от результата, выведем сообщение на экран с помощью оператора echo:
Фигурные скобки ( { ) и ( } ) служат для разделения блоков операторов
внутри структуры управления.
сообщение на экран с помощью оператора echo:
выведем сообщение на экран с помощью оператора echo:
и, в зависимости от результата, выведем сообщение на экран с помощью оператора echo:
зависимости от результата, выведем сообщение на экран с помощью оператора echo:
под именем comparisonscript.php.
http://localhost/comparisonscript.php
и нажмите клавишу Enter.
B окне браузера появится страница с текстом (Рис. 1.13).
Рис. 1.13. Результат работы сценария comparisonscript.php
Логические операторы.
Логические операторы в вашем сценарии позволяют определять истинность условий,
таких, как условия сравнения в предыдущем знакомстве. В операторах if…else
или while, логические операторы используются для вычисления условия. Сейчас
мы рассмотрим логические операторы && (and — «и») и || (or — «или»), которые
применяются для вычисления логического выражения, в котором присутствуют несколько сравнений.
Сравнения в этом сценарии будут основываться на этих двух переменных.
переменном $degrees больше 100 или значение переменной $hot равно «да»».
И, в зависимости от результата, выведите сообщение с помощью команды echo.
Поскольку ваше выражение фактически состоит из двух небольших выражений,
заключенных в скобки, то все выражение целиком должно быть также заключено в круглые скобки.
«значение переменной $degrees больше 80 и значение переменной $hot равна «да».
И, в зависимости от результата, выведите сообщение с помощью команды echo.
.
http://localhost/logicalscript.php
и нажмите клавишу Enter.
В окне браузера появится страница с текстом (Рис. 1.14).
Рис. 1.14. Результат работы сценария logicalscript.php
На экран будет выведено сообщение, связанное с результатом сравнения.
Оба выражения в приведенном выше примере истинны. В первой проверке только
одно выражение может быть истинно — этому условию удовлетворяет значение
переменной $hot, которое имеет значение «да». Во второй проверке оба
выражения должны быть истинны и они являются таковыми (переменная $degrees
имеет значение 95, которое больше чем 80, и переменная $hot имеет значение «да».
В РНР используется большое число других типов операторов. Мы будем пояснять
их по мере их появления в книге. Операторы, перечисленные в этой главе, будут в
ам полезны для начала программирования на языке РНР. В следующей главе мы будем
использовать полученные ранее знания о переменных и операторах для составления
сценариев, выполняющих более интересные действия, чем те, которые мы уже рассмотрели.
Синтаксис PHP: основы
Синтаксис PHP по умолчанию начинается с <?php
и заканчивается ?>
.
Любой код внутри <?php ?>
является кодом PHP.
Пример:
<?php
//Код PHP располагается здесь
echo “Everything inside here is PHP";
?>
Результат:
Если код содержит только PHP-код, некоторые специалисты рекомендуют опускать тег, чтобы предотвратить случайное отображение пробелов. Однако это хорошая идея лишь в том случае, если код содержит только PHP.
Разделение инструкций в PHP
В PHP инструкции завершаются с помощью точки с запятой (так же, как и во многих других языках программирования).
В последней строке кода точку с запятой ставить необязательно, так как закрывающий тег php подразумевает конец кода.
Пример:
<?php
Echo "I am valid code";
?>
<?php
echo "I am also valid code";
?>
Результат:
Оба приведенных выше примера являются приемлемым синтаксисом в контексте программирования на языке PHP.
Обратите внимание на то, что вывод из обеих строк кода уложился в одну строку. Это произошло потому, что мы не добавили никакого элемента HTML для создания разрыва между двумя строками. Если же просто нажать клавишу Enter, этого будет недостаточно.
Чувствительность PHP к регистру
Такие группы, как класс, управляющие структуры (например, операторы if
, if else
) и имена функций не чувствительны к регистру.
Пример:
<?php
Echo "I am valid";
Echo "I am valid";
echO "I am valid";
?>
Результат:
Все вышеперечисленные варианты являются допустимыми.
Однако переменные чувствительны к регистру.
<?php
$a = "I am not capital A";
$A = "I am not lower case a";
?>
В приведенном выше примере $a и $A — это не одно и то же.
Нечувствительность PHP к пробелам
Когда вы пишете код, не имеет значения, есть ли пробелы между инструкциями. Это никак не влияет на результат.
Пример:
<?php
Echo "This is code";
Echo "I have a pressed enter and space a few times but PHP doesn’t care";
?>
Результат:
Правила комментирования в PHP
Просто добавьте #
перед фрагментом, к которому вы хотите добавить комментарий.
Пример:
<?php
# Это комментарий, на который система не обращает внимания
Echo “hello world”;
?>
Результат:
Вы также можете комментировать несколько строк, окружив весь код символом /* */.
Пример:
<?php
/*
Здесь код, который никто не видит!
И здесь!
Здесь тоже!
*/
Echo “Hello world”;
?>
Результат:
Читайте также:
- Операторы PHP: If, Else и If-Else
- Ключевое слово static в PHP
- Как подключить базу данных MySQL к сайту на PHP
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Eric Tam: Some Basic PHP Syntax
Основы синтаксиса
Последнее обновление: 27.02.2021
Встраивание кода PHP
При создании первой программы на PHP уже были затронуты некоторые основные принципы создания скриптов на языке PHP. Теперь, рассмотрим их более подробно.
Программа или скрипт на PHP, как правило, находится в файле расширением .php. Хотя разработчики могут также вставлять код php и в файлы с расширениями
.html/.htm.
Документ PHP может содержать как разметку html, так и код на языке php. Для перехода от разметки html к коду php используются теги
<?php и ?>, между которыми идет код php. Данные теги служат указанием интерпретатору PHP, что их содержимое надо интерпретировать как код php,
а не разметку html.
Например, определим папке, где хранятся файлы веб-сайта (исходя из прошлых тем это должна быть папка c:\localhost
),
файл hello.php. Определим в этом файле следующий код:
<?php echo "Привет мир!"; ?>
Собственно код PHP состоит из набора инструкций. Здесь использована одна инструкция echo "Привет мир!";
. Эта инструкция
представляет встроенную команду echo, которая выводит на веб-страницу некоторое значение. Выводимое значение указывается
после команды echo — в данном случае это строка «Привет мир!». Каждая отдельная инструкция в PHP завершается точкой с запятой.
Поскольку в данном случае файл «hello.php» находится в корневой папке веб-сервера, то для обращения к этому скрипту в
адресной строке браузера надо ввести адрес http://localhost/hello.php. В итоге при обращении к этому скрипту мы увидим в веб-браузере следующую страницу:
Для оформления кода PHP также можно использовать краткую версию тегов: <? и ?>
. Для этого в файле
php.ini надо изменить строку:
short_open_tag = Off
на
short_open_tag = On
Когда пользователь обращается к скрипту в адресной строке браузера, набирая, например, http://localhost/hello.php, то веб-сервер
передает его интерпретатору PHP. Затем интерпретатор обрабатывает код и генерирует на его основе html-разметку. И затем сгенерированный html-код отправляется пользователю.
В случае выше определенного скрипта hello.php
сгенерированная разметка будет выглядеть следующим образом:
Привет мир!
Но естественно мы можем также добавить некоторый код html. Например, изменим скрипт hello.php следующим образом:
<!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <h1>Сайт на PHP</h1> <?php echo "Привет мир!"; ?> </body> </html>
Как уже указывалось выше, интерпретатор с помощью тегов <?php … ?> сможет понять, что весь текст между
этими тегами следует рассматривать как код PHP. А весь код вне этих тегов рассматривается как код html.
В этом случае интерпретатор сформирует следующий html-код:
<!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <h1>Сайт на PHP</h1> Привет мир! </body> </html>
При этом естественно мы можем использовать больше инструкций, а также встраивать код php в различных частях веб-страницы.
Например:
<!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <h1> <?php echo "Первый сайт на PHP"; ?> </h1> <div> <?php echo "<h2>Заголовок параграфа</h2>"; echo "Текст параграфа"; ?> </div> </body> </html>
В данном случае код PHP встраивается в двух местах. В первом случае — внутри элемента <h1>
. Во втором случае внутри элемента
<div>
Это даст нам следующий результат:
При чем при использовании функции echo
мы можем включать в выводимый текст html-код, как в случае с выражением:
echo "<h2>Заголовок параграфа</h2>";
Хотя выше код php определялся в файле с расширением .php, но равным образом мы также можем определять код в файлах с расширением
.html, и они также будут обрабатываться интерпретатором PHP.
Сокращенная версия тегов php
Если нам надо вывести на веб-страницу одно какое-нибудь значение, то мы можем использовать специальную форму тегов php —
<?= … ?> — после знака = («равно») ставится выводимое выражение. Например:
<!DOCTYPE html> <html> <head> <title>METANIT.COM</title> <meta charset="utf-8" /> </head> <body> <h1> <?= "Первый сайт на PHP"; ?> </h1> <div> 2 + 2 = <?= 2+2 ?> </div> </body> </html>
В первом случае выводится строка <?= "Первый сайт на PHP"; ?>
.
Во втором случае выводится результат выражения 2 + 2
: <?= 2+2 ?>
.
Результат работы скрипта:
Комментарии
При создании веб-сайта мы можем использовать комментарии. Например, мы можем прокомментировать какое-либо действие,
чтобы впоследствии иметь представление, что этот код делает:
<?php echo "<p>Привет мир!</p>"; // вывод сообщения // echo "Пока мир"; ?>
Знак //
предваряет однострочный комментарий, и все что идет после этого знака на одной строке, будет считаться комментарием и не будет
выполняться интерпретатором. При обработке интерпретатор просто будет пропускать комментарии.
Если нам надо закомментировать несколько строк, то мы можем использовать многострочный комментарий /* текст комментария*/
:
<?php echo "<p>Привет мир!</p>"; // вывод сообщения /* многострочный комментарий вывод результата арифметического выражения echo "2 + 2 = " . (2+2); */ ?>
Все строки внутри комментария также не будут обрабатываться интерпретатором.
Язык программирования PHP предназначен для web-программирования. Он сочетает в себе преимущества языков C и Perl, плюс относительно прост в изучении. В этой статье мы рассмотрим его синтаксис и некоторые общие понятия и команды.
Вначале следует сказать, что синтаксис PHP напоминает синтаксис Cи и в некоторых моментах заимствован из Java и Perl. Например, C-программист достаточно легко освоит PHP и быстро сможет применять его с высокой эффективностью.
При этом в PHP есть почти все функции и операторы, которые есть в стандартном GNU С (либо их аналоги). Здесь можно вспомнить циклы (while, for), функции ввода и вывода, операторы выбора (if, switch) и многие другие…
Цель нашей статьи — кратко ознакомить вас с основами синтаксиса PHP.
PHP и HTML
Легче всего «прочувствовать» синтаксис любого языка программирования на примерах. Смотрим простейший PHP-скрипт:
<html> <head> <title>Пример</title> </head> <body> <? echo "Здравствуйте, я PHP-скрипт"; ?> </body> </html>Здесь следует обратить внимание, что код HTML корректно обрабатывается интерпретатором PHP, однако начало может озадачить. Допустим, откуда здесь HTML-тэги <body> и <html>? И как раз здесь и заключается основная особенность PHP-языка: скрипт может совсем не отличаться от стандартного HTML-документа.
Продолжаем. Как видно из синтаксиса, код команды (сценария) начинается уже после <? (открывающий тег) и заканчивается ?>. Между этими двумя тегами код интерпретируется как программа, то есть этот участок не попадает в HTML-документ. А когда следует что-либо вывести, используется оператор echo.
Таким образом, в PHP любой текст, расположенный вне программных блоков (они ограничены <? и ?>) выведется непосредственно в браузер. Это и есть основная фишка PHP, если сравнивать этот язык с Perl и C, в которых вывод выполняется посредством стандартных операторов.
Разделение инструкций в PHP
Разделение инструкций осуществляется следующим образом: каждое выражение заканчивается ; — точкой с запятой.
Закрывающий тег подразумевает и конец инструкции, а значит, 2 фрагмента кода ниже эквиваленты:
<?php echo "Мы тестируем синтаксис PHP"; ?> <?php echo "Мы тестируем синтаксис PHP" ?>Комментарии в скриптах PHP
Когда мы пишем код на PHP, мы редко обходимся без комментариев. Вот, как это бывает:
<?php echo "Наш тест"; // Это однострочный комментарий /* А вот многострочный комментарий и ещё одна строка */ echo "Ещё один наш тест"; echo "И последний тест"; # Это тоже комментарий ?>Рассмотрим ещё один пример:
<h1>Курсы <?php # echo "программирования";?> OTUS.</h1> <p>Заголовок вверху выведет 'Курсы OTUS'.Пожалуйста, будьте внимательны!
Переменные в PHP
Что касается переменных в PHP, то они обозначаются знаком $. Допустим, предложение «Здравствуйте, я PHP-скрипт» возможно получить иначе, чем мы это делали выше:
<?php $message = "Здравствуйте, я PHP-скрипт"; echo $message; ?>Типы данных в PHP
Также PHP поддерживает 8 простых типов данных. Среди них:
1. Четыре скалярных типа:
— boolean (двоичные данные);
— float (числа с плавающей точкой либо ‘double’);
— integer (целые числа);
— string (строки).
2. Два смешанных типа:
— object (объекты);
— array (массивы).
3. Два специальных типа:
— NULL («пустые»);
— resource (ресурсы).Нельзя не упомянуть и про псевдотипы в PHP:
— number (числа);
— mixed (смешанные);
— callback (обратного вызова).Синтаксис PHP: выражения
Главные формы выражений — константы и переменные. Допустим, когда вы записываете «$a = 100», вы выполняете присвоение ‘100’ переменной $a:
В нашем примере $a является переменной, = является оператором присваивания, 100 — и есть выражение. Значение его — 100.
Таким образом, выражением способна быть и переменная, когда ей сопоставлено некоторое значение:
Итак, в 1-й строке очередного примера выражение — это константа 7, во второй — переменная $x, ведь ранее ей присваивалось значение 7. Также является выражением $y = $x.
Синтаксис PHP: операторы
Оператор состоит из одного или больше значений (или выражений, если мы говорим на жаргоне программирования), которое мы можем вычислить как новое значение (то есть всю конструкцию можем рассматривать как выражение). Лучше рассмотреть это всё на примерах.
Итак операторы присваивания в PHP:
<?php $a = ($b = 4) + 5; // результат: $a установлена значением 9, переменной $b присвоено 4. ?>Комбинированные операторы в PHP:
<?php $a = 3; $a += 5; // $a устанавливается значением 8 аналогично записи: $a = $a + 5; $b = "Hello "; $b .= "Everybody!"; // $b устанавливается строкой "Hello Everybody!", как и $b = $b . "There!"; ?>Строковые операторы в PHP:
<?php $a = "Hello "; $b = $a . "OTUS!"; // $b содержит строку "Hello OTUS!" $a = "Hello "; $a .= "OTUS!"; // $a содержит строку "Hello OTUS!" ?>В PHP есть и другие операторы, но их лучше рассматривать в контексте управляющих конструкций
Управляющие конструкции в PHP
Основные конструкции:
1. Циклы (while, for, foreach, do-while, break, continue);
2. Условные операторы (if, else);
3. Операторы выбора (switch), возврата значений (return), объявления (declare) и включений (require, include).Примеры конструкций в PHP:
<?php if ($a > $b) echo "значение a больше, чем b"; ?>Этот пример показывает, как используется конструкция if вместе с оператором сравнения ($a > $b).
Идём дальше: если переменная $a нулю не равна, выведется строка «значение a истинно (true)», таким образом, мы видим как условный оператор (конструкция) if взаимодействует с логическим:
<?php if ($a) echo "значение a истинно (true)"; ?>Также приведем пример цикла while:
<?php $x=0; while ($x++<10) echo $x; // Выводится 12345678910 ?>PHP и объектно-ориентированное программирование
PHP имеет неплохую поддержку ООП. Например, в PHP мы можем создать классы разных уровней и объекты, а также довольно гибко ими оперировать.
Приведём пример использования PHP-класса:
<?php // Создаётся новый класс Otus: class Otus { // данные (свойства): var $name; // методы: function Getname() { echo "<h3>Bob</h3>"; } } // Создаётся объект класса Otus: $object = new Otus; // Получаем доступ к членам нашего класса: $object->name = "Tom"; echo $object->name; // Выводит 'Tom' // А теперь получаем доступ к методу класса (фактически, к функции внутри нашего класса): $object->Getname(); // Выводится 'Bob' крупными буквами ?>Вот и всё, мы кратко описали синтаксис PHP, охарактеризовав его. Если же вы хотите освоить команды и язык на профессиональном уровне, добро пожаловать на наши курсы!
Опытные преподаватели из команды OTUS ждут вас!