PHP

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

PHP (англ. Hypertext PreprocessorПрепроцессор Гипертекста; бывш. Personal Home Page Tools – Инструменты для создания персональных веб-страниц) — веб-ориентированный скриптовый ЯП высок. ур. общ. назнач. с динамич. типизац. В настоящ. время поддерж. подавляющ. большинством хостинг-провайдеров, и явл. одним из лидеров среди ЯП, применяющихся для создания динамических веб-сайтов.

Лицензия

ЯП и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Среда выполнения распространяется под своей лицензией, отличной от GNU GPL.

Языковые конструкции, не явл. функциями

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

Список конструкций языка, не функций:
  • include
  • include_once
  • require
  • require_once
  • exit
  • die
  • echo
  • empty

Данные лексемы явл. конструкциями языка, а не функциями его стандарт. библиотеки, поэтому при написании/использовании их без параметров, использовать синтаксис вызова функций (круглые скобки) не следует, если это явно не требуется.

Смуту так же вносит тот факт, что некоторым конструкциям (таким, как echo, include, require) параметры можно передавать в виде строки без использования, характерных для функций, круглых скобок в то время как др. передавать параметры можно только в круглых скобках (таким, как exit, die, empty). Однако передавать параметры в круглых скобках и использовать директивы без написания круглых скобок (без передачи параметров) теоретически можно для всех конструкций языка. Это и вносит путаницу.

Выражения, языковые конструкции и пр.

Программный код (синтаксис) Название (кратк. описание) Объяснение (подробн. описание)
ООП
$req = Foo::gtInstn()->gtReq();
Статич. вызов метода, возвращающего объект класса и обращение через него к методу. Из класса Foo статич. вызывается метод gtInstn, который возвращ. объект данного класса, и через этот объект динамич. вызывается метод gtReq.
Some::gtDat(); Статический вызов метода класса. Из класса Some статич. вызывается метод gtDat.
Массивы
$arr = array(
	"city" => "London",
	5,
	7 => 10,
	8 => "peach",
	"orange"
);
Создание массива Создаётся смешанный массив arr, в котором есть и ассоциативные (строковые) ключи, и обычн. числовые индексы. При этом в массиве хранятся различн. типы данных: string и integer.
$arr[] = "Alex" Добавление в конец массива нов. ячейки В конец массива arr доб. нов. ячейка, имеющая автоматически рассчитанный числ. индекс и строк. знач. Alex.
$arr["name"] = "Karl" В ячейку name массива arr заносится знач. Karl. Если в массиве уже была ячейка с таким ключом, то она будет перезаписана, если же её ещё не было, то она будет добавлена в конец.
$arr[50] = "Jack" В ячейку с числовым индексом 50 массива arr заносится значение Jack. Если в массиве уже была ячейка с таким индексом, то она будет перезаписана, если же её ещё не было, то она будет добавлена в нужное место, по возрастанию знач. индексов.
$newArr = [
	"Alex",
	"1234",
	"login" => "Karl",
	"pass" => 555,
	20 => "Jack",
	true,
	100
];
Создание массива альтер. сокр. нов. методом, введенным в PHP 5.4 Создаётся смешанный массив newArr, в котором есть и ассоциативные (строковые) ключи и обычные числовые индексы. При этом в массиве хранятся различные типы данных: string, integer и boolean.