Разделение инструкций

Программа на php (да и на любом другом языке программирования) – это набор команд (инструкций). Обработчику программы (парсеру) необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В php инструкции разделяются так же, как и в C или Perl – каждое выражение заканчивается точкой с запятой.

Закрывающий тег » ?> » также подразумевает конец инструкции, поэтому перед ним точку с запятой не ставят. Например, следующие фрагменты кода эквивалентны:

<?php 
echo «Hello, world!»; // точка с запятой в конце команды обязательна 
?>
<!?php 
echo «Hello, world!» // точка с запятой опускается из-за «?>»
?>

Каждая команда в PHP заканчивается точкой с запятой, вы можете увидеть этот знак в конце текста, заключенного в кавычки, который будет выводиться с помощью команды echo. То есть к команде относится не только ее название, а также и данные, которые ей нужно обработать, в этом случае в качестве данных выступает текст, заключенный в кавычки.
Смысл точки c запятой можно выразить на примере сочинения на уроке литературы: вы всегда ставите точку в конце предложения, чтобы отделить одну мысль от другой, также и при написании программы на php, нужно в конце каждой команды ставить своеобразную точку, то есть точку с запятой. Точка с запятой после каждой инструкции называется терминатор инструкции.

Отсутствие терминатора инструкции может приводить к ошибкам в работе интерпретатора php и выводу ошибок в окне браузера.

<!DOCTYPE html>

<head>

<title>Страница Web </title>

</head>

<body>

<p>

<?php

echo «Эта строка порождает ошибку»

echo «В предыдущей строке отсутствует терминатор инструкции»;

?>

</p>

</body>

</html>

В этом примере в первом операторе echo пропущен терминатор инструкции. Так как интерпретатор php не может определить конец первого оператора echo и начало второго, то происходит ошибка. В зависимости от настроек Обработки ошибок (Error Handling) интерпретатора, будет выводиться сообщение об ошибке или браузер выведет просто пустую страницу.

Далее показываю типичное сообщение об ошибке, которое выводится, когда пропущен терминатор инструкции:

Parse error: syntax error, unexpected T_PRINT in C:\ApacheRoot\test.php on line 11

Ошибка при разборе: синтаксическая ошибка, непредвиденный T_PRINT в ... в строке  11

Как можно видеть, сообщения об ошибках php достаточно загадочны по своей природе. Отсутствие терминатора инструкции является распространенной ошибкой среди новичков php. Со временем появится привычка проверять каждую строку на наличие терминатора инструкции.