belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
PHP+MySQL >>>
                          Учебник Задачник Справочник

1.4. Лексическая структура PHP

В данном пункте мы рассмотрим лексическую структуру PHP.

Лексическая структура языка программирования – это набор элементарных правил, которые определяют порядок написания программ на этом языке. По сути она представляет собою весь низкоуровневый синтаксис языка, к которому относятся правила написания имен переменных, оформления комментариев, разделения инструкций и т.д.

Каждое отдельное правило в лексической структуре языка программирования называют лексемой. Она представляет собою минимальную единицу кода программы, которая имеет для интерпретатора определенный смысл и не может быть разбита на более мелкие логические части. К лексемам относятся литералы (неименованные значения некоторого типа данных, например, число 10, строка "яблоко" и т.д.), идентификаторы, ключевые слова, знаки операторов и т.д.

Идентификаторы представляют собой просто имена. В PHP идентификаторы чувствительны к регистру символов, должны начинаться со знака подчеркивания или буквы латинского алфавита и могут состоять только из букв латинского алфавита, цифр и знаков подчеркивания. Например, идентификаторы _var_1, _Var_1 и _VAR_1 обозначают имена совершенно разных переменных или функций, а комбинации символов 15var_1, (:Var_1 или ру_VAR_1 не могут использоваться в качестве идентификаторов, т.к. они не начинаются со знака подчеркивания или буквы латинского алфавита и к тому же содержат недопустимые символы.

Для лучшего восприятия кода следует давать идентификаторам понятные и по возможности краткие названия, которые бы соответствовали, например, хранящимся в переменных данным или же выполняемым функциями действиям. Кроме того, идентификаторы могут состоять не только из одной буквы, но даже из нескольких слов. Для таких случаев в программировании существуют два распространенных устоявшихся стиля записи идентификаторов, которые называются CamelCase (верблюжьяНотация) и Snake_case (змеиная_нотация). Если идентификатор состоит из одного слова, то в обоих случаях он пишется строчными буквами. При наличии двух и более слов, в верблюжей нотации первое слово идентификатора пишется строчными буквами, а каждое последующее слово начинается с заглавной буквы, в змеиной нотации все слова пишутся строчными буквами, но каждое последующее слово идентификатора отделяется от предыдущего знаком подчеркивания (см. пример 1.3).

Как и во многих других языках программирования в PHP каждая инструкция (команда на языке PHP) отделяется от других точкой с запятой ';', которая обычно ставится в той же строке в конце каждой инструкции. Если инструкция является последней в блоке php-кода, то после нее точку с запятой разрешается не ставить, т.к. закрывающий тег сделает это автоматически.

Что касается комментариев, то в PHP используются как однострочные комментарии, так и многострочные. Для однострочных комментариев используется комбинация символов '//' или знак решетки '#'. Мы будем использовать первый вариант. Однострочные комментарии идут только до конца строки или же до закрывающего тега ?>, который закрывает текущий блок php-кода в независимости от наличия в данном месте комментария (см. пример 1.3). При этом важно помнить, что закрывающий тег </script> не завершает режим PHP в однострочном комментарии, т.е. сам считается комментарием.

<?php	
$greenApple=3; //Создали переменную задав имя в верблюжей нотации
$red_apple=5;  //Создали переменную задав имя в змеиной нотации
?>

<?php				//Однострочный комментарий идет до конца строки
					//или до закрывающего тега ?>
		
<?php	
	# Комментарий в стиле оболочки Unix
	
	/* Многострочным комментарием является любой текст,
	включая закрывающие теги ?> */
		
	/* Многострочные комментарии /* не могут быть */
	вложены друг в друга */
?>

Пример 1.3. Лексическая структура PHP

Многострочные комментарии представляют собой любой текст, расположенный между комбинациями символов '/*' и '*/'. Как следует из названия, многострочные комментарии могут содержать несколько строк, но при этом не могут быть вложенными друг в друга. Кроме того, все виды закрывающих тегов PHP, расположенные внутри многострочных комментариев, не завершают режим PHP, т.е. сами считаются комментариями.

Текст комментариев на странице не отображается, но их использование переоценить практически невозможно. Ведь любой программист на собственном опыте знает, что по прошествии определенного времени разобраться даже в собственном коде становится все сложнее. Комментарии же позволяют:

В любом случае, комментарии ускоряют как разработку кода, так и его отладку в дальнейшем.

В конце также отметим, что для улучшения читабельности и восприятия кода следует применять его форматирование, используя в качестве разделителей пробельные символы, к которым относятся пробелы, символы табуляции, разрывы строк. Поскольку интерпретатор игнорирует подряд идущие их комбинации между отдельными лексемами, у программиста появляется возможность форматировать исходный код программы по своему усмотрению, делая его более наглядным для чтения и легким для восприятия. Чтобы убедиться в этом, попробуйте набрать хотя бы часть кода любого из представленных выше примеров в одну строчку и без форматирующих пробельных символов.

Контрольные вопросы и задания

  1. Дайте определение лексической структуры языка программирования.
  2. Что вы можете сказать о правилах составления идентификаторов в PHP?
  3. Каким образом в PHP одна инструкция отделяется от другой?
  4. Перечислите все виды комментариев, которые используются в PHP?
  5. В каких случаях закрывающие теги завершают комментарий, а в каких сами являются частью комментария?

Словарь новых английских слов

brackets [ˈbrækəts] – скобки.
square [skwɛː] – квадрат, квадратный.
angle [ˈæŋɡl] – угол, угловой.
curly [ˈkəːli] – фигурный, изогнутый, волнистый.
round [raʊnd] – круглый.
preprocessor [ˌpriːˈprəʊsɛsə] – предпроцессор.
hypertext [ˈhaɪpərtekst] – гипертекст.
camel [ˈkam(ə)l] – верблюд.
case [keɪs] – регистр клавиатуры.
try [traɪ] – пытаться, попытка.
catch [kætʃ] – поймать, захват.
snake [sneɪk] – змея, извиваться.
if [ɪf] – если.
global [ˈɡloʊbl] – глобальный, всеобщий.
local [ˈləʊk(ə)l] – локальный, местный.
static [ˈstætɪk] – статический, неподвижный.
define [dɪˈfʌɪn] – определять.
constant [ˈkɑːnstənt] – константа, постоянная.
echo [ˈekoʊ] – вторить, повторять, эхо.
unset [ʌnˈsɛt] – сбросить, удалить (переменную).
Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх