Php introduction

Библиотеки

Импорт библиотеки — это способ добавить внешние (возможно откомпилированные) процедуры, программы или пакеты. Импорты классифицируют по уровню (модуль, пакет, класс, процедура,…) и по синтаксису (директивы, атрибуты,…)

Импорт файлов
  • ASP:
  • AutoHotkey, AutoIt, Си, Си++: ,
  • Кобол:
  • Falcon:
  • Фортран:
  • Lua:
  • Mathematica и Wolfram:
  • MATLAB:
  • Objective-C: ,
  • Perl:
  • PHP: ,
  • Pick Basic: ,
  • R:
  • Rust:
Импорт пакетов
  • Ада:
  • Си, Си++:
  • Cobra:
  • D: ,
  • Falcon: ,
  • +: ,
  • Go:
  • Haskell: ,
  • Java, MATLAB, Kotlin:
  • JavaScript: ,
  • Lua:
  • Mathematica и Wolfram:
  • Оберон (Oberon):
  • Objective-C:
  • Паскаль:
  • Perl: ,
  • Python: ,
  • Rust: , , ,
  • R:
  • Scala: ,
  • Swift:
Импорт классов
  • Falcon:
  • Java, MATLAB, Kotlin:
  • JavaScript: , ,
  • PHP: ,
  • Python:
  • Scala: , ,
Импорт процедур/функций
  • D: ,
  • Haskell:
  • JavaScript: , ,
  • MATLAB:
  • Perl:
  • PHP: ,
  • Python:
  • Rust: , ,
  • Scala: ,
Импорт констант

PHP: use const Namespace\CONST_NAME;

Вышеуказанные операторы также могут быть разделены на 2 группы — являются ли они синтаксическим удобством (просто добавляют элементам краткое название, при этом элементы всё равно доступны по своему полному названию), либо нужны для доступа к коду (без этого оператора доступ к элементам невозможен даже при наличии полного имени).

Синтаксическое удобство
  • Java: ,
  • OCaml:
Необходимы для доступа к коду
  • Go:
  • JavaScript:
  • Python:

Установка и использование¶

Где скачать PHP?

Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.


Как выглядит PHP-сценарий

Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.

Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:

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

В нашем примере сценарий состоит из всего одной инструкции:

Здесь мы просим функцию вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция — это сказуемое, а «Привет, Мир!» — подлежащее.

Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:

Обратите внимание, что в этом примере мы использовали дополнительный фрагмент —. С его помощью мы сообщаем серверу, где заканчивается наш PHP-сценарий

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

Переменные¶

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

Переменная — это контейнер, в котором содержатся данные, так же как напиток содержится в чашке.

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

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

Например мы можем попросить посетителя страницы указать свой возраст, а затем использовать это значение для других целей — узнать год рождения или показать возраст самой странице.

Как работать с переменными

Любую переменную следует вначале объявить, то есть дать ей имя и присвоить значение.

В синтаксисе PHP имя переменной записывается латинскими символами, но первым символом всегда должен быть знак доллара , а затем идёт имя.

Не допускается начинать имя переменной с цифры, а также использовать любые значения, кроме букв алфавита и знака подчеркивания.

Примеры допустимых имён переменных:

Примеры недопустимых имён:

  • — забыт знак доллара в начале;
  • — начинается с цифры;
  • — содержит дефис.

Присваивание

Пустая переменная не будет слишком полезна. Поэтому давайте сразу что-нибудь туда поместим. Такое действие называется операцией присваивания.

Вот как выглядит присваивание информации в новую переменную:

Знак “равно” в PHP является оператором и всегда означает операцию присваивания.

Здесь мы записали слово “green” в переменную под именем favorite_color.

Обратите внимание: мы взяли в кавычки слово. Кавычки всегда строго необходимы, если речь идёт об использовании текста

Но если в переменную помещается не текст, а число, то кавычки не нужны.

Пример:

Использование


Мы научились сохранять информацию в переменных. Теперь посмотрим, как получить доступ к этой информации в нашем сценарии.

Ведь когда мы пытаемся запомнить в своей голове новый телефонный номер, то делаем это не просто так, а для чтобы на него позвонить.

Это значит, что мы запоминаем информацию с целью вернуться к ней в дальнейшем и применить для какого-то действия — совершить звонок, написать сообщение и тому подобное.

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

Перепишем уже знакомый сценарий так, чтобы в нём использовались переменные.

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

Конкатенация

Этим страшным словом называется операция склеивания нескольких строк в одну. Предположим, у нас есть две уже знакомые переменные: и , а мы собираемся вывести их в одной строке, чтобы получить такой результат:

“Мой любимый цвет — зелёный, а любимое число — 42”

где значение цвета хранится в , а числа в .

Чтобы получить такую строку, необходимо использовать оператор конкатенации — (точка). В качестве операндов он берёт две строки или переменные, содержащие строку, а затем возвращает новую строку.

Выглядит это так:

Типы данных

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

Однако нам всё равно важно уже сейчас понимать, что такое «типы данных»

Тип данных в языке программирования определяет допустимые значения, а также допустимые операции с данными этого типа.

Например, с данными типа «целое число» допускается выполнять арифметические операции, а с данными типа «строка» — нет. Поделить строку на строку невозможно. Кроме того, числа могут быть только в определенных пределах (в версии PHP для 32-битной ОС, самое большое число: ), а строки обязательно должны находиться в кавычках.

Лексические особенности языка PHP

Невосприимчивость языка PHP к пробельным символам

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

Например, все приведенные ниже операторы PHP, в которых значение суммы 2 + 2 присваивается переменной $four, являются эквивалентными:

Исходный код

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

Разные требования к регистру символов в языке PHP в разных контекстах

Язык PHP не предъявляет слишком жесткие требования к синтаксису, но PHP иногда требует соблюдения правильного регистра символов (т.е. учитывает различия между строчными и прописными буквами). В частности, все имена переменных чувствительны к регистру. Например, если в HTML-страницу будет включен код:

Исходный код

то вывод будет выглядеть таким образом:

Из-за того, что в разных именах применялись символы разного регистра, переменные стали разными. С другой стороны, имена функций в языке PHP не чувствительны к регистру, и таковыми являются также основные языковые конструкции (if, then, else, while и т.д.).

Escaping to PHP

The PHP parsing engine needs a way to differentiate PHP code from other elements in the page. The mechanism for doing so is known as ‘escaping to PHP’. There are four ways to do this −

Canonical PHP tags

The most universally effective PHP tag style is −

<?php...?>

If you use this style, you can be positive that your tags will always be correctly interpreted.

Short-open (SGML-style) tags


Short or short-open tags look like this −

<?...?>

Short tags are, as one might expect, the shortest option You must do one of two things to enable PHP to recognize the tags −

  • Choose the —enable-short-tags configuration option when you’re building PHP.

  • Set the short_open_tag setting in your php.ini file to on. This option must be disabled to parse XML with PHP because the same syntax is used for XML tags.

ASP-style tags

ASP-style tags mimic the tags used by Active Server Pages to delineate code blocks. ASP-style tags look like this −

<%...%>

To use ASP-style tags, you will need to set the configuration option in your php.ini file.

Блоки

Блок представляет собой способ группировки двух или более отдельных операторов, выражений или иных элементов кода, которые должны представлять собой целое..

Скобки (фигурные скобки) …

Си, Си++, Objective-C, Go, Java, JavaScript/ECMAScript, C#, D, Perl, PHP (циклы for и loop , передача блоков как аргументов), Rust, Scala, S-Lang, Swift, Windows PowerShell, Haskell (в do-нотации), AutoHotkey

см. также Curly bracket programming language

Круглые скобки …

OCaml, Standard ML

Квадратные скобки …

Smalltalk (блоки — объекты первого класса, т. н. замыкания)

Ада, Алгол, Паскаль, Ruby (циклы for, do/while и do/until), OCaml, Simula, Erlang.

ПЛ/1 (PL/I), REXX

Bash (циклы for и while), Visual Basic, Фортран, TUTOR (тело блока обязано быть с отступом), Visual Prolog

Lua, Ruby (блоки передаются как аргументы, цикл for), Seed7 (тело цикла заключено между do и end)

X … (напр. … ):

Ruby (операторы if, while, until, def, class, module), OCaml (циклы for и while), MATLAB (операторы if и switch, циклы for и while, предложение try , блоки package, classdef, properties, methods, events и function), Lua (then / else и function)

( …)

Scheme

(progn …)

Лисп

( …)

Clojure

Отступы
  • Значимые (см. ): Cobra, CoffeeScript, F#, Haskell (в do-нотации без скобок), Occam, Python
  • Не имеют значения (см. Free-form languages): потомки Алгола (включая Си, Паскаль и Perl); языки семейства Лисп
Другое
  • Ада, Visual Basic, Seed7: …
  • Bash, sh, and ksh: … , … , … ;
  • Алгол 68: … , … , … , …
  • Lua, Паскаль (язык программирования), Модула-2, Seed7: …
  • Кобол: … , … и т. д. для операторов; … для предложений.
  • Visual Basic .NET: … , … , …
  • Small Basic: … , … , …

Выражения¶

Выражение в языке программирование — это минимальный блок кода, имеющий значение (результат). Звучит несколько сложно, но на практике почти каждая строка сценария является выражением. Вот несколько примеров выражений:

Важно усвоить одно главное свойство выражений — они всегда имеют результат. Также различают два типа выражений: логические и арифметические

Результатом выполнения логического выражение всегда будет истина или ложь.

Например, результатом выражения будет “ложь”, потому что два, очевидно, меньше трех.

Другим видом выражений является арифметическое выражение. Результатом выражения будет .

В каких случаях может понадобиться знать результат выражения?

Выражения особенно полезны в условиях, то есть когда мы хотим выполнить или не выполнять какое-либо действие, в зависимости от результата выражения. Выражения также можно объединять между собой таким образом, что несколько отдельных выражений в итоге вычисляются как одно.

Предположим, что на нашем сайте мы хотим показать определённую картинку только посетителям мужского пола и старше 18 лет. Ранее, в коде сценария, мы уже получили и сохранили год рождения и пол посетителя в переменные и . Напишем выражение и условие для реализации такого поведения:

Обратите внимание на ключевое слово — это оператор, который объединяет два отдельных выражения в одно новое. Это новое выражение будет иметь значение «истина», только если оба отдельных выражений будут истинны

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

Операторы¶

Оператором в программировании называется нечто, принимающее одно или более значений.

Например, в арифметике есть такие операторы: , , , . Что означает сложение, вычитание, деление и умножение. Оператор всегда работает только в паре с двумя значениями, например складывает два числа (операнда) или умножает их друг на друга.

PHP дополняет уже знакомые нам из арифметики операторы, несколькими новыми:

  • уже знакомый оператор присваивания , который используется для присваивания значения переменной;
  • очень полезны операторы сравнения: , , , — равно, не равно, больше и меньше;
  • — оператор остатка от деления одного числа на другое. Например: .

Что такое PHP

Начнём с определения того, чем именно является PHP. Сложно в одном предложении дать полное представление об этом языке, поэтому опишем его следующими тремя характеристиками:

PHP — это препроцессор гипертекста (HTML). PHP — это серверный язык программирования. PHP — это скриптовый, интерпретируемый язык программирования.

Зачем нужен PHP

Поясним каждое из определений и узнаем, в каких задачах будет полезен PHP.

Основная задача PHP — это «оживление» HTML страниц.

Обычные HTML-страницы статичны. Статичность (или неизменность) означает, что после того, как страницу создали и загрузили на сайт, при каждом обращении к этой странице браузер покажет её любому пользователю в неизменном виде.


Но этого не всегда достаточно.

Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например:

  • показать курс валют;
  • подсказать погоду на завтра;
  • вывести счётчик посещений страницы.

Если использовать только HTML, то решить такие задачи не получится. Здесь-то нам и понадобится PHP. Он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает веб-серверу результат в виде готового HTML-код. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого видно свежий курс валют, погоду, и что угодно ещё.

РНР позволяет изменять веб-страницу на сервере непосредственно перед тем, как она будет отправлена браузеру. Давайте разберёмся, как это работает. PHP умеет исполнять код — так называемые сценарии. В ходе исполнения PHP может изменить или динамически создать любой HTML-код, который и является результатом исполнения сценария. Затем сервер отправляет этот код браузеру. При этом браузеру не известно, как была сформирована данная страница — статично сверстана верстальщиком, или динамически создана при участии PHP

Это не важно, т.к. браузер всегда работает только с тем, что получил от сервера

Давайте запомним, что сценарий — это программа, которая находится на стороне сервера и запускается в ответ на запрос от браузера.

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

Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.

Где используется PHP

Основная сфера применения языка PHP — это веб, то есть сайты, которые мы каждый день посещаем через браузер компьютера или смартфона

Важно понимать, что веб — это не весь интернет, а только самая большая и популярная его часть. Кроме веба через интернет работает электронная почта, мессенджеры, файлообменные сервисы, сетевые игры и многое другое

Практически каждый сайт, который есть в интернете, работает на PHP. Этот язык отлично подходит для любых динамических веб-сайтов, среди которых:

Передача параметров с помощью HTML-форм

Теперь настал момент поговорить о передаче параметров формы PHP скрипту.

Сначала напишем HTML-документ, который будет содержать практически все элементы HTML-формю Параметры формы мы будем передавать скрипту для последующией обработки. Итак, листинг HTML-документа send.html:

В окне браузера данная форма будет выглядеть так

Когда пользователь нажимает кнопку «Отослать форму», браузер передаст скрипту следующие параметры:

  • textfield — значение текстового поля;
  • pswfield — значение поля ввода пароля;
  • hidden — значение скрытого поля;
  • параметры checkbox: checkbox1, checkbox2 и checkbox3 будут переданы только в том случае, если соответствующие им независимые переключатели активны;
  • radiobutton — значение группы radio (будет передано одно из значений: Yes или No);
  • textarea — содержимое многострочной текстовой области;
  • day_s — значение списка с единственным выбором;
  • day_m — значения списка с множественным выбором.

Теперь перед нами стоит задача обработки всех параметров переданной формы с помощью PHP скрипта.

Параметры textfield, pswfield и textarea обрабатываются достаточно просто. Например, для отображения значения параметра textfield достаточно написать в обрабатывающем скрипте:

С параметрами checkbox1, checkbox2, checkbox3, и radiobutton дело обстоит несколько сложнее. Если переключатель не активен, то перечисленные параметры вообще не будут переданы на сервер, как будто их вообще не было. Следовательно, при попытке обратиться в скрипте к этим параметрам, мы получим сообщение, что переменная не существует. Поэтому просто написать мы не можем, нам необходимо сначала проверить существование этих параметров в запросе. Проверка существования параметра осуществляется с помощью функции isset(), которая служит для проверки существования переменных.

Только после проверки существования перечисленных параметров формы можно начинать работу с переменными.

Сложнее обрабатывать параметры списка с множественным выбором, так как в этом случае параметры передаются так:

Действительно, мы оказались в ситуации, когда один параметр имеет несколько значений. Это напоминает нам массив данных. Действительно, множественный список можно представить в виде массива, а обработать его элементы с помощью цикла foreach. Нам даже не обязательно знать колличество элементов множественного списка. Нам нужно лишь предварительно дать понять PHP, что мы будем передавать массив:

Квадратные скобки []- это признак массива. Циклическая обработка массива осуществляется так:

А теперь приведем окончательный листинг PHP скрипта, обрабатывающего нашу тестовую форму:

Демонстрацию работы приведенного скрипта вы можете посмотреть здесь.


С этим читают