Синтаксис php подобен синтаксису языка
Лекции по веб-программированию
PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.
Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на веб-сервере.
Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)». Синтаксис языка берет начало от C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление веб-разработчикам возможности быстрого создания динамически генерируемых web-страниц.
Возможности PHP
Существуют три основных области, где используется PHP.
• Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что для этого понадобится, это парсер PHP (в виде программы CGI или серверного модуля), веб-сервер и браузер. Чтобы просматривать результаты выполнения PHP-скриптов в браузере, необходим работающий веб-сервер и установленный PHP.
• Создание приложений GUI, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если PHP хорошо известен и есть желание использовать некоторые его возможности в своих клиент-приложениях, то можно использовать PHP-GTK для создания таких приложений. Подобным образом можно создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом PHP.
История PHP
Истоки PHP лежат в старом продукте, имевшем название PHP/FI. PHP/FI был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме.
Расмус Лердорф (англ. Rasmus Lerdorf; р. 22 ноября 1968) — датский программист (ныне живущий в Канаде), написавший в 1994 году набор скриптов на Perl/CGI.
В 1997 выходит PHP/FI 2.0. Вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50 000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.
Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.
К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета!
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали не эффективно.
Новый движок, названный ‘Zend Engine’ (www.zend.com) (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.
Шестая версия PHP 6.0 разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.
В 2014 году было проведено голосование, по результатам которого следующая версия получила название PHP 7. Выход новой версии планировался в середине октября 2015 года. В марте 2015 года Zend представили инфографику в которой описаны основные нововведения PHP 7.
3 декабря 2015 года было объявлено о выходе PHP версии 7.0.0.
Архитектура PHP
PHP является интерпретатором с встроенным блоком трансляции, оптимизирующим ход интерпретации.
Использование интерпретатора (а значит и PHP) имеет свои неоспоримые преимущества:
1. Нет необходимости заботится об освобождении выделенной памяти, не нужно закрывать файлы по окончании работы с ними – всю рутинную работу сделает интерпретатор, поскольку программа выполняется под его бдительным контролем;
2. Не нужно думать о типах переменных, а также не нужно объявлять переменную до его первого использования;
3. Отладка программ и обнаружение ошибок существенно упрощаются – интерпретатор полностью контролирует этот процесс;
4. В контексте веб-приложений, интерпретатор также имеет еще очень важное преимущество – нет опасности «зависания» сервера при неправильной работе программы.
Синтаксис PHP
Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.
Простейшая программа на PHP выглядит следующим образом:
Переменные и типы данных
PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).
К скалярным типам данных относятся:
целый тип (integer),
вещественный тип данных (float, double),
логический тип (boolean),
строковый тип (string),
и специальный тип NULL.
К нескалярным типам относятся:
«ресурс» (resource),
массив (array),
объект (object),
К псевдотипам относятся:
mixed любой тип
number число (integer либо float)
callback (string или анонимная функция)
void отсутствие параметров
Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления.
Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10−308 до ±1.7×10+308).
PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.
Строка может быть определена тремя различными способами.
Если строка заключена в двойные кавычки («), PHP распознает большее количество управляющих последовательностей для специальных символов:
Последовательность | Значение |
---|---|
\n | новая строка (LF или 0x0A (10) в ASCII) |
\r | возврат каретки (CR или 0x0D (13) в ASCII) |
\t | горизонтальная табуляция (HT или 0x09 (9) в ASCII) |
\\ | обратная косая черта |
\$ | знак доллара |
\» | двойная кавычка |
\1 | последовательность символов, соответствующая регулярному выражению, символ в восьмеричной системе счисления |
\x[0-9A-Fa-f] | последовательность символов, соответствующая регулярному выражению, символ в шестнадцатеричной системе счисления |
heredoc-определение (PHP):
Переменные внутри heredoc интерпретируются. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.
В PHP 5.3+ появилась версия heredoc, в которой переменные не интерпретируются. Для этого идентификатор нужно окружить одинарными кавычками. Это называется nowdoc.
Также в PHP 5.3+ идентификатор можно окружить двойными кавычками. Это соответствует варианту без кавычек.
Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().
Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.
Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный хеш. Возможно неожиданное поведение при использовании цикла for со счетчиком вместо foreach. Так, например, при сортировке массива с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.
Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:
строкой (интерпретируется как название функции);
массивом где нулевой и первый элемент — строки (интерпретируется как название статической функции класса);
массивом где нулевой элемент — объект, а первый — строка (интерпретируется как метод у объекта).
Для проверки является ли значение вызываемым следует использовать is_callable($var)
Основы синтаксиса PHP
Синтаксис языка
Разберёмся, из чего состоит любой язык программирования. Как и языки, на которых мы говорим, язык программирования также строится из кирпичиков, которые и составляют совокупность знаний, называемую человеческим языком.
У каждого языка есть свои правила и конструкции, следуя которым, мы выражаем свои мысли и делаем их понятными для другого человека. В программировании всё точно также. Но вместо человеческого языка мы используем язык программирования PHP, а в роли нашего собеседника выступает PHP-интерпретатор. Поэтому, чтобы выразить свою мысль, мы должны сделать её понятной для интерпретатора.
Переменные
Переменные — это основа любого языка программирования. Во время написания кода мы постоянно будем работать с переменными. Понять концепцию переменных очень просто.
Переменная — это контейнер, в котором содержатся данные, так же как напиток содержится в чашке.
Любую информацию, которую мы будем использовать в коде, сначала необходимо сохранить в переменной.
У переменной обязательно должно быть имя, поэтому переменная всегда состоит из имени и значения. Значение — это любая информация, которая хранится внутри переменной.
Например мы можем попросить посетителя страницы указать свой возраст, а затем использовать это значение для других целей — узнать год рождения или показать возраст самой странице.
Как работать с переменными
Примеры недопустимых имён:
Присваивание
Пустая переменная не будет слишком полезна. Поэтому давайте сразу что-нибудь туда поместим. Такое действие называется операцией присваивания.
Вот как выглядит присваивание информации в новую переменную:
$favorite_color = «green»;
Знак “равно” в PHP является оператором и всегда означает операцию присваивания.
Здесь мы записали слово “green” в переменную под именем favorite_color.
Обратите внимание: мы взяли в кавычки слово green. Кавычки всегда строго необходимы, если речь идёт об использовании текста. Но если в переменную помещается не текст, а число, то кавычки не нужны.
Пример:
$favorite_number = 42;
Использование
Мы научились сохранять информацию в переменных. Теперь посмотрим, как получить доступ к этой информации в нашем сценарии.
Ведь когда мы пытаемся запомнить в своей голове новый телефонный номер, то делаем это не просто так, а для чтобы на него позвонить.
Это значит, что мы запоминаем информацию с целью вернуться к ней в дальнейшем и применить для какого-то действия — совершить звонок, написать сообщение и тому подобное.
Такая логика полностью работает и в программировании. Сохранив информацию однажды, её можно использовать в дальнейшем для выполнения различных действий. Таким действием может быть вывод этой информации на экран.
Перепишем уже знакомый сценарий так, чтобы в нём использовались переменные.
Теперь этот простой сценарий состоит из двух шагов. На первом мы объявляем (инициализируем) новую переменную и помещаем туда текст. На втором шаге мы используем эту переменную, обращаясь к ней по имени в контексте вызова функции вывода на экран. То есть теперь функция print получает не текст напрямую, а переменную, которая содержит этот текст.
Хотите потренироваться использовать переменные в PHP? Тогда выполните это задание.
Конкатенация
В этом задании вы познакомитесь с конкатенацией на практике.
Типы данных
Выше уже упоминалось, что данные, помещённые в переменную, могут быть строкой текста или числом. В действительности таких типов данных гораздо больше, но первое время мы будем работать только с несколькими. Однако нам всё равно важно уже сейчас понимать, что такое «типы данных».
Тип данных в языке программирования определяет допустимые значения, а также допустимые операции с данными этого типа.
Например, с данными типа «целое число» допускается выполнять арифметические операции, а с данными типа «строка» — нет. Поделить строку на строку невозможно. Кроме того, числа могут быть только в определенных пределах (в версии PHP для 32-битной ОС, самое большое число: 2147483647), а строки обязательно должны находиться в кавычках.
Операторы
Вы можете потренироваться использовать арифметические операторы в этом задании.
PHP дополняет уже знакомые нам из арифметики операторы, несколькими новыми:
Условные конструкции
Из примера видно, что условная конструкция состоит из трех частей:
Обратите внимание, что каждый блок обрамляется и ограничивается фигурными скобками.
Чтобы закрепить материал, пройдите этот тренажёр. В нём подробно рассказывается, как использовать условные конструкции.
Выражения
Выражение в языке программирование — это минимальный блок кода, имеющий значение (результат). Звучит несколько сложно, но на практике почти каждая строка сценария является выражением. Вот несколько примеров выражений:
Важно усвоить одно главное свойство выражений — они всегда имеют результат. Также различают два типа выражений: логические и арифметические. Результатом выполнения логического выражение всегда будет истина или ложь.
Например, результатом выражения 2 > 3 будет “ложь”, потому что два, очевидно, меньше трех.
В каких случаях может понадобиться знать результат выражения?
Выражения особенно полезны в условиях, то есть когда мы хотим выполнить или не выполнять какое-либо действие, в зависимости от результата выражения. Выражения также можно объединять между собой таким образом, что несколько отдельных выражений в итоге вычисляются как одно.
Обратите внимание на ключевое слово and — это оператор, который объединяет два отдельных выражения в одно новое. Это новое выражение будет иметь значение «истина», только если оба отдельных выражений будут истинны.
Иными словами, наше условие будет выполняться только для посетителей мужского пола И возрастом старше восемнадцати. То есть несовершенолетние мальчики, равно как и совершенолетние девочки никакой картинки не увидят.
Понятие алгоритма
Многие из нас что-то слышали про алгоритмы на уроках информатики в школе. К сожалению, далеко не все школьные знания остаются с нами после её окончания. Тем не менее, понимание, что такое алгоритм, и умение эти самые алгоритмы строить — это очень важные навыки, без которых не получится решать даже относительно простые задачи.
Если говорить простыми словами, то алгоритм — это просто очень подробный план работы. Мы все в течение жизни что-нибудь планируем: отпуск, какое-нибудь мероприятие, своё самостоятельное обучение и тому подобное. От простого списка шагов алгоритм отличает существование условий и повторяющихся действий. Если вы в состоянии создать хороший, подробный алгоритм для реализации, скажем, какой-нибудь возможности на сайте, то можно считать, что половина дела уже сделана!
Разберём для примера один алгоритм средней сложности. На сайт нужно добавить форму обратной связи. Пользователь может заполнить эту форму, указать там свои контактные данные и написать сообщение. Информация из заполненной формы отправляется на электронную почту владельцу сайта. Вот как будет выглядеть алгоритм для этой задачи:
Синтаксис PHP для начинающих. Команды PHP
Язык программирования PHP предназначен для web-программирования. Он сочетает в себе преимущества языков C и Perl, плюс очень прост в изучении. В этой статье мы рассмотрим его синтаксис и некоторые общие понятия и команды.
Вначале следует сказать, что синтаксис PHP напоминает синтаксис Cи и в некоторых моментах заимствован из Java и Perl. Например, C-программист достаточно легко освоит PHP и быстро сможет применять его с высокой эффективностью.
При этом в PHP есть почти все функции и операторы, которые есть в стандартном GNU С (либо их аналоги). Здесь можно вспомнить циклы (while, for), функции ввода и вывода, операторы выбора (if, switch) и многие другие.
Цель нашей статьи — кратко ознакомить вас с основами синтаксиса PHP.
PHP и HTML
Легче всего «прочувствовать» синтаксис любого языка программирования на примерах. Смотрим простейший PHP-скрипт:
Таким образом, в PHP любой текст, расположенный вне программных блоков (они ограничены ) выведется непосредственно в браузер. Это и есть основная фишка PHP, если сравнивать этот язык с Perl и C, в которых вывод выполняется посредством стандартных операторов.
Разделение инструкций в PHP
Разделение инструкций осуществляется следующим образом: каждое выражение заканчивается ; — точкой с запятой.
Закрывающий тег подразумевает и конец инструкции, а значит, 2 фрагмента кода ниже эквиваленты:
Комментарии в скриптах PHP
Когда мы пишем код на PHP, мы редко обходимся без комментариев. Вот, как это бывает:
Рассмотрим ещё один пример:
Пожалуйста, будьте внимательны!
Переменные в PHP
Типы данных в PHP
Также PHP поддерживает 8 простых типов данных. Среди них: 1. Четыре скалярных типа: — boolean (двоичные данные); — float (числа с плавающей точкой либо ‘double’); — integer (целые числа); — string (строки). 2. Два смешанных типа: — object (объекты); — array (массивы). 3. Два специальных типа: — NULL («пустые»); — resource (ресурсы).
Нельзя не упомянуть и про псевдотипы в PHP: — number (числа); — mixed (смешанные); — callback (обратного вызова).
Синтаксис PHP: выражения
Таким образом, выражением способна быть и переменная, когда ей сопоставлено некоторое значение:
Синтаксис PHP: операторы
Оператор состоит из одного или больше значений (или выражений, если мы говорим на жаргоне программирования), которое мы можем вычислить как новое значение (то есть всю конструкцию можем рассматривать как выражение). Лучше рассмотреть это всё на примерах.
Итак операторы присваивания в PHP:
Комбинированные операторы в PHP:
Строковые операторы в PHP:
В PHP есть и другие операторы, но их лучше рассматривать в контексте управляющих конструкций
Управляющие конструкции в PHP
Основные конструкции: 1. Циклы (while, for, foreach, do-while, break, continue); 2. Условные операторы (if, else); 3. Операторы выбора (switch), возврата значений (return), объявления (declare) и включений (require, include).
Примеры конструкций в PHP:
Также приведем пример цикла while:
PHP и объектно-ориентированное программирование
PHP имеет неплохую поддержку ООП. Например, в PHP мы можем создать классы разных уровней и объекты, а также довольно гибко ими оперировать.
Приведём пример использования PHP-класса:
Вот и всё, мы кратко описали синтаксис PHP, охарактеризовав его. Если же вы хотите освоить команды и язык на профессиональном уровне, добро пожаловать на наши курсы!
Опытные преподаватели из команды OTUS ждут вас!
Синтаксис PHP
Как работают PHP скрипты
PHP работает точно также. Ты пишешь команды одну за другой, а PHP последовательно их исполняет.
Что такое PHP скрипт
Но есть одно важное отличие:
Скрипты запускаются только через http-запросы в браузере. Это значит, что для запуска скрипта script.php необходимо в адресной строке браузера написать site.ru/script.php
Веб-серверы чаще всего настроены так, что при заходе на главную страницу (например site.ru ) автоматически запускается файл index.php или index.html, лежащий в корне сайта.
Создай в корневой папке сайта файл с названием index.php и открой его в своём текстовом редакторе. При наличии файла index.html его нужно удалить.
Обязательно следи за кодировкой скриптов. Кодировка должна быть либо UTF-8 без BOM (если такая доступна в твоём редакторе), либо просто UTF-8.
Вывод чисел и строк в PHP
Команда echo отвечает за вывод информации на экран. После оператора указывается значение, которое нужно вывести.
Чтобы вывести текст, его нужно указать в одинарных или двойных кавычках:
Команды в PHP разделяются точкой с запятой. Для удобства чтения каждую команду принято писать с новой строки:
Результат в браузере:
Вывод HTML кода в PHP
HTML-код можно перемешивать с командами PHP:
Также HTML код можно подставить в PHPшную строку:
Результат в браузере:
Мы можем как угодно совмещать PHP код и HTML теги:
Функции в PHP
Функция phpinfo() выводит на экран информацию с текущими настройками PHP.
Некоторые функции ожидают, что им передадут какое-нибудь значение. Например, функция округления ceil() ожидает число, которое она округлит:
Функции будут подробно рассмотрены в отдельном уроке.
Необходимость закрывающего тега в PHP
Сокращённый синтаксис открывающего тега в PHP
Кроме этого, мы можем заменить тег на более короткую версию :
Использование тега вызывало множество споров в среде PHP разработчиков. Точку в этом вопросе поставили создатели языка PHP: начиная с PHP 7.4 короткий тег объявлен устаревшим, а в PHP 8 его уже не будет.
Комментарии в PHP
Однострочные комментарии в PHP пишутся после символа # или // и действуют до конца строки:
Многострочные комментарии размещаются между /* и */ :
Обратите внимание, многострочные комментарии нельзя вкладывать друг в друга:
Итого
Важно следить за кодировкой скриптов и выбирать либо UTF-8 без BOM, либо просто UTF-8.
Для вывода каких-либо значений в браузер используется команда echo, либо сокращённый синтаксис :
Функции в PHP указываются с круглыми скобками в конце:
Также в PHP можно добавлять однострочные и многострочные комментарии: