PHP: полный мануал с примерами, функциями и ООП
Практический мануал PHP: от переменных и читаемого кода до безопасных форм, интеграций, базы данных и ООП на примере магазина. Учебный маршрут, поиск функций, подробные примеры, разбор ошибок и исходники для скачивания.

Дерево руководства
Глава 144 · Справочник
Функции и методы: указатель по задачам
Быстрый переход к подробным карточкам функций, возвращаемым значениям, ошибкам и примерам.
Как выбрать инструмент
Искать инструмент от нужного действия
Название функции можно не знать. Сначала определяем, что нужно сделать с данными, затем сравниваем подходящие операции.
- 1Задача: оставить товары в наличии↓
Есть массив товаров с полем stock.
- 2Выбор: фильтрация массива↓
array_filter или явный foreach с условием stock > 0.
- 3Проверить контракт и пример
Какие ключи сохраняются, что вернётся, как передать список в JSON.
Карточка функции объясняет параметры и результат; связанная глава показывает её место в работе. Справочник охватывает выбранные функции этого руководства, а не все API расширений PHP.
Если знаете имя функции, используйте общий поиск и выберите «Функции». Если помните только задачу, начните с категории ниже. У каждой карточки — сигнатура, примеры, результат, ловушки и ссылки на связанные средства. Функции и методы собраны рядом с объясняющими их главами: справочник не отрывает код от контекста.
Как читать параметры, результат и примеры карточки
Функция — именованный фрагмент программы: вы вызываете её, передаёте значения при необходимости и можете получить результат. Если это первый день знакомства, сначала откройте функции от первого вызова до return. Здесь разберём, как читать справочную карточку, даже когда её запись кажется сложной.
| Запись в сигнатуре | Как читать |
|---|---|
string $text | Параметр с именем text принимает строку. При вызове передают значение, например "болт", а не слова string $text. |
int $offset = 0 | Необязательный параметр: если его не передали, используется 0. Вызов может иметь меньше аргументов, чем полная сигнатура. |
: int|false | Функция возвращает целое число либо false. Это описание результата, не часть обычного вызова. |
?string | Строка или null. Значение null нужно обработать до действий со строкой. |
&$output | Параметр передаётся по ссылке: функция может изменить переданную переменную. Это отдельно от return. |
...$values | Функция может принимать переменное число аргументов. Оператор распаковки при вызове описан в главе функций. |
: void | Функция выполняет действие без полезного возвращаемого значения. |
ClassName::method | Название метода класса в справочнике. Реальный способ вызова зависит от того, статический ли метод: смотрите пример, не заменяйте -> на :: автоматически. |
<?php
declare(strict_types=1);
$position = strpos('bolt', 'bo');
var_dump($position);
Ожидаемый результат
int(0)
strpos ищет строку внутри другой строки. Передано два аргумента: где искать и что искать; необязательное смещение не передано. Результат 0 означает, что совпадение начинается с первого байта. var_dump показывает и тип, и значение. Это диагностика в локальном опыте, не оформление результата для посетителя.
<?php
declare(strict_types=1);
foreach (['bo', 'nut'] as $needle) {
$position = strpos('bolt', $needle);
if ($position === false) {
echo "Не найдено\n";
} else {
echo "Найдено на позиции $position\n";
}
}
Ожидаемый результат
Найдено на позиции 0
Не найдено
Строгое сравнение === отличает false от нулевой позиции. Сначала мы поняли один вызов, затем применили его в цикле. В карточке strpos далее можно разобраться в смещении, байтах и альтернативе str_contains, когда нужна только проверка наличия.
В каждой карточке сначала прочитайте назначение и сигнатуру, затем входы и результат, после этого запустите один пример. Не переносите всю программу из сложного сценария ради одной операции. По ссылке на название темы можно вернуться к её начальным шагам.
Apache: HTTP-заголовки, серверные заметки, окружение и подзапросы
apache_child_terminateСпециальный запрос на завершение обслуживающего процесса после текущего запроса.apache_get_modulesУзнать, какие модули загружены в Apache, обрабатывающем PHP.apache_get_versionПрочитать строку версии/banner Apache для диагностики окружения.apache_getenvПрочитать строковую переменную Apache subprocess_env текущего запроса.apache_lookup_uriВыполнить частичное разрешение локального URI сервером Apache.apache_noteСогласовать информацию PHP и Apache-модулей в пределах запроса.apache_request_headersПолучить заголовки входящего HTTP-запроса в ассоциативный массив.apache_response_headersПолучить доступную SAPI карту заголовков исходящего ответа.apache_setenvУстановить переменную в Apache subprocess_env для обработки запроса.getallheadersПрочитать HTTP-заголовки через второе имя apache_request_headers.virtualВывести результат Apache subrequest для фиксированного локального ресурса.APCu: кеш данных, сроки жизни, счётчики и обход записей
apcu_addДобавить значение только при отсутствии ключа.apcu_cache_infoПосмотреть попадания, промахи, число записей и метаданные кеша.apcu_casЗаменить целое только если его прежнее значение ещё совпадает.apcu_clear_cacheОчистить все пользовательские записи текущего экземпляра APCu.apcu_decАтомарно уменьшить целочисленный счётчик.apcu_deleteУбрать устаревшую копию по ключам или выборке.apcu_enabledПроверить, можно ли использовать APCu именно в этом окружении.apcu_entryВернуть готовые данные либо атомарно вычислить отсутствующие.apcu_existsПроверить присутствие ключа, не получать его значение.apcu_fetchПолучить сохранённое значение и отличить false от промаха.apcu_incАтомарно увеличить целочисленный счётчик.apcu_key_infoИсследовать метаданные одной записи без извлечения значения.apcu_sma_infoПосмотреть доступную общую память и её свободные блоки.apcu_storeСохранить рассчитанное значение или заменить его новую версию.APCUIteratorОбходить выбранные записи кеша небольшими порциями.APCUIterator::__constructНастроить фильтр, поля результата и размер порции обхода.APCUIterator::currentПолучить данные той записи, на которой находится обход.APCUIterator::getTotalCountПолучить число записей по выбранным ключам.APCUIterator::getTotalHitsПолучить сумму попаданий в записи по выбранным ключам.APCUIterator::getTotalSizeПолучить суммарную память записей в байтах по выбранным ключам.APCUIterator::keyПолучить ключ текущей записи независимо от набора полей.APCUIterator::nextПерейти от текущей позиции к следующей.APCUIterator::rewindВернуть обход к началу выборки.APCUIterator::validПроверить, есть ли элемент на текущей позиции.Интеграции: HTTP-клиент, JSON и контролируемые ошибки
curl_errnoПолучить числовой код последней ошибки передачи этого handle.curl_errorПолучить диагностический текст последней ошибки передачи этого handle.curl_execВыполнить подготовленную передачу и осознанно выбрать: вывести тело или получить его в переменную.curl_getinfoПолучить HTTP-статус, адрес, размеры и тайминги последней передачи, не пытаясь извлечь их из текста тела.curl_initСоздать настраиваемый HTTP-клиент перед запросом к поставщику; сам вызов ещё ничего не отправляет.curl_setopt_arrayЗадать согласованный набор настроек и остановиться, если хотя бы одна отклонена.Полный справочник функций массивов
arrayСобрать несколько связанных значений в одно: список товаров или запись с именованными полями.array_allПроверить, что каждый элемент подходит: например все выбранные товары доступны.array_anyУзнать, есть ли хотя бы один подходящий элемент: например доступный склад.array_change_key_caseНормализовать регистр строковых ключей, не меняя значения.array_combineСвязать заголовки и одну строку данных: превратить колонки CSV в именованные поля.array_count_valuesСосчитать частоту строковых кодов или целых значений, например заказы по статусам.array_diff_assocРазность массивов: оставить пары первого входа, для которых совпадение не найдено ни в одном из остальных массивов. Ключ и значение одновременно.array_diff_keyРазность массивов: оставить пары первого входа, для которых совпадение не найдено ни в одном из остальных массивов. Только ключи; значения не сравниваются.array_diff_uassocРазность массивов: оставить пары первого входа, для которых совпадение не найдено ни в одном из остальных массивов. Ключ и значение одновременно.array_diff_ukeyРазность массивов: оставить пары первого входа, для которых совпадение не найдено ни в одном из остальных массивов. Только ключи; значения не сравниваются.array_fillЗаранее подготовить одинаковые начальные значения: например четыре свободных места в расписании.array_fill_keysПодготовить словарь с известными ключами, например счётчики заказов по статусам.array_findПолучить первое подходящее значение, например товар с ненулевым остатком.array_find_keyНайти ключ первого элемента по правилу, чтобы затем обратиться именно к нему.array_firstПрочитать первое значение в порядке массива, не удаляя элемент и не переставляя внутренний указатель.array_flipПоменять направление уникального соответствия: из ID→код получить код→ID.array_intersect_assocПересечение массивов: оставить пары первого входа, для которых совпадение найдено в каждом из остальных массивов. Ключ и значение одновременно.array_intersect_keyПересечение массивов: оставить пары первого входа, для которых совпадение найдено в каждом из остальных массивов. Только ключи; значения не сравниваются.array_intersect_uassocПересечение массивов: оставить пары первого входа, для которых совпадение найдено в каждом из остальных массивов. Ключ и значение одновременно.array_intersect_ukeyПересечение массивов: оставить пары первого входа, для которых совпадение найдено в каждом из остальных массивов. Только ключи; значения не сравниваются.array_key_firstПрочитать первый ключ в порядке массива, не удаляя элемент и не переставляя внутренний указатель.array_key_lastПрочитать последний ключ в порядке массива, не удаляя элемент и не переставляя внутренний указатель.array_lastПрочитать последнее значение в порядке массива, не удаляя элемент и не переставляя внутренний указатель.array_merge_recursiveСобрать несколько значений одноимённых полей в общее дерево.array_multisortСинхронно переставить несколько колонок, применяя следующие как дополнительные критерии.array_padДополнить короткий ряд до нужного размера заданным значением.array_popИзвлечь и удалить последний элемент стека.array_productПеремножить числовые значения, например количества вариантов комплектации.array_pushДобавить несколько значений в конец списка.array_randВыбрать один или несколько случайных ключей, сохранив исходный массив.array_replace_recursiveПрименить частичный патч к вложенному словарю.array_reverseПолучить обратный порядок элементов, не сортируя их значения.array_shiftИзвлечь и удалить первый элемент очереди.array_spliceЗаменить участок списка и отдельно получить удалённые элементы.array_sumСложить числовые значения, например суммы уже проверенных строк заказа.array_udiffВычислить разность по собственному правилу значений.array_udiff_assocВычислить разность по собственному правилу значений с проверкой ключа.array_udiff_uassocВычислить разность по собственному правилу значений с проверкой ключа.array_uintersectВычислить пересечение по собственному правилу значений.array_uintersect_assocВычислить пересечение по собственному правилу значений с проверкой ключа.array_uintersect_uassocВычислить пересечение по собственному правилу значений с проверкой ключа.array_unshiftДобавить несколько значений в начало списка.array_walkВыполнить действие над каждым элементом или изменить его значение на месте.array_walk_recursiveПройти листья вложенных массивов, например обработать текстовые поля разобранного JSON.arsortУпорядочить значения по убыванию, сохранив связь ключей и значений.asortУпорядочить значения по возрастанию, сохранив связь ключей и значений.compactСобрать уже существующие локальные переменные в массив для передачи шаблону.currentпрочитать текущее значение без перемещения указателя.eachИсторическая функция чтения пары и перемещения указателя: удалена из PHP 8; нужна для понимания и миграции старого кода.endПереместить внутренний указатель на последний элемент и прочитать новое значение.extractСоздать локальные переменные из заранее доверенного массива — в основном для границы старого шаблонизатора.keyПрочитать ключ в текущей позиции; null показывает отсутствие позиции.key_existsУзнать псевдоним array_key_exists в старом коде: договор проверки ключа полностью тот же.krsortУпорядочить ключи по убыванию, сохранив связь ключей и значений.listРазложить строку отчёта в несколько понятных переменных одним присваиванием.natcasesortОтсортировать числовые части строк естественным порядком без учёта ASCII-регистра.natsortОтсортировать числовые части строк естественным порядком, учитывая регистр.nextПереместить внутренний указатель вперёд на один элемент и прочитать новое значение.posПсевдоним current: прочитать текущее значение без перемещения указателя.prevПереместить внутренний указатель назад на один элемент и прочитать новое значение.rangeСоздать ограниченную последовательность: номера страниц, интервалы измерения или ASCII-метки.resetПереместить внутренний указатель на первый элемент и прочитать новое значение.rsortУпорядочить значения по убыванию, заменив все ключи индексами 0, 1….shuffleПеремешать значения на месте, заменив все ключи числовыми индексами.sizeofПрочитать псевдоним count: sizeof считает элементы, а не размер массива в байтах.sortУпорядочить значения по возрастанию, заменив все ключи индексами 0, 1….uasortЗадать своё правило порядка значений, сохранив исходные ключи.uksortЗадать своё правило порядка ключей, сохранив исходные ключи.Массивы: списки, словари и выбор операции
array_chunkРазделить список на порции: например, отправлять по два задания в одном запросе.array_columnДостать одно поле из строк отчёта или построить индекс записей по ID.array_diffРазность массивов: оставить пары первого входа, для которых совпадение не найдено ни в одном из остальных массивов. Только значения; ключи остальных массивов не участвуют.array_filterОставить только подходящие элементы; значения и исходные ключи сохраняются.array_intersectПересечение массивов: оставить пары первого входа, для которых совпадение найдено в каждом из остальных массивов. Только значения; ключи остальных массивов не участвуют.array_is_listПроверить, что массив действительно является последовательностью с ключами 0,1,2,… в этом порядке.array_key_existsПроверить наличие поля, даже если его значение null.array_keysПолучить имена полей или все ключи, у которых найдено заданное значение.array_mapПолучить новое значение для каждого элемента или собрать параллельные списки по позициям.array_mergeСклеить списки и применить поздние значения строковых ключей.array_reduceСвести все элементы к одному итогу: числу, строке или накопленному массиву.array_replaceОбновить значения по ключам, включая числовые идентификаторы.array_searchПолучить ключ первого точного совпадения, чтобы найти его место или удалить конкретную запись.array_sliceВзять окно из массива без изменения оригинала.array_uniqueОставить первое из совпадающих значений, сохранив его ключ.array_valuesОставить значения в текущем порядке и заменить ключи на последовательные 0,1,2,…countПолучить число элементов или количество, определённое объектом Countable.in_arrayПроверить присутствие конкретного значения, например кода разрешённого статуса.ksortУпорядочить ключи по возрастанию, сохранив связь ключей и значений.usortЗадать своё правило порядка значений, получив новые числовые ключи.Атрибуты и Reflection: метаданные, маршруты и границы автоматизации
class_existsПроверить, объявлен ли класс, при необходимости дав автозагрузчику найти его файл.ReflectionAttribute::newInstanceСоздать объект атрибута и выполнить его конструктор.ReflectionClass::getPropertiesИсследовать объявления свойств класса.ReflectionMethod::getAttributesПрочитать метаданные конкретного метода.ReflectionProperty::isInitializedПроверить готовность типизированного свойства до чтения.BCMath: точные десятичные расчёты и Number
bcaddСложить цены, сохранив десятичные разряды.bcceilОкруглить десятичную строку до целого в сторону +∞.bccompСравнить значения десятичных строк, даже если их текстовый формат различается.bcdivРазделить сумму на количество, не переходя к двоичному float.bcdivmodПолучить целое частное и остаток одним вызовом: например, разделить 1000 копеек на три части.bcfloorОкруглить десятичную строку до целого в сторону −∞.BcMath\NumberХранить точное десятичное значение вместе с его масштабом и получать новые числа при вычислениях.BcMath\Number::__constructСоздать проверенное десятичное число из строки или целого.BcMath\Number::__serializeПодготовить внутренние данные Number для штатного PHP serialize().BcMath\Number::__toStringПолучить исходную десятичную строку для текста или явной передачи в другой интерфейс.BcMath\Number::__unserializeВосстановить новый Number из состояния, созданного сериализацией.BcMath\Number::addСложить сумму заказа с доставкой.BcMath\Number::ceilПолучить ближайшее целое не меньше исходного.BcMath\Number::compareПроверить числовое равенство или порядок, не привязываясь к идентичности объектов.BcMath\Number::divРазделить число и сохранить достаточные дополнительные разряды в пределах автоматического правила.BcMath\Number::divmodРазделить количество на полные группы и получить остаток объектами Number.BcMath\Number::floorПолучить ближайшее целое не больше исходного.BcMath\Number::modНайти остаток длины после целого количества отрезков.BcMath\Number::mulУмножить тариф на количество или коэффициент.BcMath\Number::powВозвести число в целую степень с автоматическим масштабом результата.BcMath\Number::powmodВычислить модульную степень, не материализуя полную огромную степень.BcMath\Number::roundПолучить новое число, округлённое до выбранного десятичного разряда.BcMath\Number::sqrtПолучить неотрицательный квадратный корень и управлять числом его разрядов.BcMath\Number::subВычесть возврат, сохранив исходную сумму для журнала.bcmodНайти остаток после целого количества порций, включая дробные исходные величины.bcmulПолучить стоимость количества или сумму комиссии.bcpowВозвести десятичное основание в целую степень: накопление коэффициента за несколько периодов.bcpowmodВычислить остаток большой степени, не создавая сначала всю огромную степень.bcroundОкруглить точное десятичное значение по явно выбранному правилу.bcscaleЗадать значение по умолчанию для процедурных вычислений или узнать текущее.bcsqrtПолучить квадратный корень для расчёта стороны или нормирования величины.bcsubВычесть возврат или оплату из суммы счёта.Встроенные атрибуты: намерения, совместимость и защита диагностики
AllowDynamicProperties::__constructСоздать экземпляр маркера разрешённых динамических свойств.Attribute::__constructСоздать описание разрешённых целей пользовательского атрибута.Deprecated::__constructСохранить сообщение о замене и отметку начала устаревания.NoDiscard::__constructЗадать объяснение, почему результат нельзя терять.Override::__constructСоздать маркер намеренного переопределения.ReturnTypeWillChange::__constructСоздать переходный маркер для предварительных возвращаемых типов внутренних методов.SensitiveParameter::__constructСоздать маркер параметра, скрываемого в трассировках.SensitiveParameterValue::__constructОбернуть конкретное значение для безопасного обычного отладочного представления.SensitiveParameterValue::__debugInfoВернуть пустое отладочное представление.SensitiveParameterValue::getValueЯвно получить исходное чувствительное значение.Bzip2: сжатые строки, файлы .bz2 и безопасное чтение выгрузки
bzcloseЗавершить работу с ресурсом; для пишущего потока закончить формирование .bz2.bzcompressУменьшить текст отчёта перед хранением или передачей. Результат — двоичная строка Bzip2, а не имя файла.bzdecompressВернуть исходные байты из небольшой сжатой строки, например из сохранённого отчёта.bzerrnoПолучить числовой код последней ошибки потока и выбрать ветку обработки.bzerrorПолучить код и описание одной ошибочной операции вместе.bzerrstrПолучить техническое описание ошибки для внутренней диагностики.bzflushРаспознать ограничение старого совместимого API: этот вызов не делает полезной принудительной выгрузки Bzip2-буфера.bzopenОткрыть файл .bz2 так, чтобы последующие чтения и записи работали с обычным текстом.bzreadПрочитать порцию распакованных байтов из файла, не собирая весь результат сразу.bzwriteПередать обычные байты в открытый Bzip2-файл; сжатие выполняется внутри потока.Calendar: календари, номера дней и преобразования
cal_days_in_monthФорма расписания должна разрешить 29 февраля в 2024 году, но только 28 дней в 2023. Длину месяца вычисляет выбранный календарь.cal_from_jdКарточке архивного события нужны год, месяц, день и название дня недели отдельными полями. Получим массив вместо разбора строки с косыми чертами.cal_infoНужен список поддерживаемых календарей и названия месяцев для административной формы. Получим метаданные, а не дату «сегодня».cal_to_jdИмпорт принимает календарную систему отдельным полем. Один общий вызов позволяет преобразовать выбранную систему без четырёх разных веток.easter_dateЕсли интеграция требует именно timestamp, функция возвращает системную местную полночь праздника. Для сайта с собственной зоной часто яснее easter_days плюс DateTime.easter_daysДля расписания праздника достаточно узнать отступ от 21 марта в выбранном календаре. В 2024 григорианский отступ 10 дней даёт 31 марта.frenchtojdКаталог революционных документов хранит год I и месяцы республиканского календаря. Получим привычную дату первого дня этого календаря.gregoriantojdАрхиву нужно сравнить две календарные даты без часов. Превратим 15 июня 2024 в целый номер дня 2460477.jddayofweekРасписание должно узнать, является ли выбранный день воскресеньем. Номер дня недели удобнее локализованного текста.jdmonthnameАрхиву нужен месяц в выбранной календарной системе. У одного дня это может быть Gregorian July и Julian June.jdtofrenchПолучить французскую республиканскую запись уже известного номера дня — для подписи записи в архиве.jdtogregorianПолучить григорианскую запись уже известного номера дня — для подписи записи в архиве.jdtojewishСписок событий может показать числовую еврейскую дату или подпись буквами. Выберем формат явно, чтобы однобайтный текст не испортил UTF-8 страницу.jdtojulianПолучить юлианскую запись уже известного номера дня — для подписи записи в архиве.jdtounixПосле календарного преобразования нужен timestamp для начала конкретного дня UTC. Здесь начало — полночь, хотя астрономический Julian Date часто связан с полуднем.jewishtojdДля календаря мероприятий нужна дата 1 тишрея 5785: преобразуем её в 3 октября 2024 для обычного списка событий.juliantojdДля документа со старым стилем 2 июня 2024 юлианского календаря соответствует 15 июня григорианского. Соединим их общим номером дня.unixtojdСервису нужен только календарный день из timestamp. Функция отбрасывает время суток по локальной системной зоне; этот выбор нужно знать до группировки событий.Вызов функций и callback: полный справочник Function Handling
call_user_funcВыполнить выбранное действие сейчас, передав аргументы отдельно.call_user_func_arrayВызвать действие с готовым массивом позиционных или именованных аргументов.create_functionРаспознать удалённое создание функции из строк и безопасно перенести его на Closure.forward_static_callВызвать выбранный метод предка, сохранив подходящий дочерний static-контекст.forward_static_call_arrayПередать готовый список параметров с возможностью forwarding static-контекста.func_get_argПолучить один аргумент текущего вызова по позиции, начиная с нуля.func_get_argsПолучить нормализованный список аргументов текущей функции.func_num_argsУзнать число позиций текущего вызова, отличая отсутствие аргумента от default.function_existsПроверить существование имени функции без её выполнения.get_defined_functionsПолучить два списка уже объявленных функций для ограниченной диагностики.register_shutdown_functionЗарегистрировать короткое действие на завершение текущего выполнения.register_tick_functionПодключить наблюдатель к tick-точкам отмеченного участка PHP.unregister_tick_functionЗавершить наблюдение тем же callback, который был зарегистрирован.Информация о классах и объектах: полный справочник функций
__autoloadУзнать удалённый механизм автозагрузки в старом проекте и заменить его современной регистрацией загрузчика.class_aliasВременно поддержать старое имя класса при переименовании, сохранив тот же тип.enum_existsПроверить, что имя относится именно к перечислению, а не к обычному классу.get_called_classПолучить класс, от имени которого продолжается поздно связанный статический вызов.get_class_methodsПолучить имена методов, доступных из текущей области, чтобы исследовать установленный клиент.get_class_varsПосмотреть доступные исходные значения свойств класса, не создавая объект и не запуская конструктор.get_declared_classesПолучить снимок классов, уже известных текущему PHP-процессу.get_declared_interfacesИсследовать интерфейсы, объявленные к текущему моменту выполнения.get_declared_traitsПолучить имена трейтов, уже объявленных в этом процессе.get_mangled_object_varsИсследовать сырое хранилище объекта, включая закрытые поля и их владельцев.get_parent_classУзнать непосредственного родителя объекта или класса, например при исследовании расширения.interface_existsПроверить именно объявление интерфейса, например при поддержке необязательного пакета.is_aПроверить, является ли объект или разрешённое имя данным типом, включая сам тип и его потомков.trait_existsУзнать, объявлен ли трейт, не путая наличие трейта с его использованием конкретным классом.Классы и объекты: состояние, идентичность и методы
Клонирование: копия заказа, вложенные объекты и PHP 8.5
Замыкания, callback и стрелочные функции
Closure::__constructПочему new Closure запрещён и как получить объект функции.Closure::bindСтатическая форма: подготовить функцию с явными объектом и областью доступа.Closure::bindToПолучить новую версию функции, не изменяя исходную.Closure::callВременно выбрать объект и сразу получить результат выполнения.Closure::fromCallableСохранить уже существующее действие с проверкой доступности сейчас.Closure::getCurrentPHP 8.5+: получить исполняющееся замыкание для самообращения.Константы: одно имя для неизменного правила
Конструкторы и жизненный цикл: объект сразу пригоден к работе
Проверка символов: полный справочник Ctype
ctype_alnumПроверить, что короткий технический код состоит из букв и цифр.ctype_alphaПроверить буквенное поле технического протокола.ctype_cntrlИсследовать управляющие байты в строке протокола или импорта.ctype_digitПроверить код из десятичных цифр без знака, точки и пробелов.ctype_graphПроверить печатное поле без пробельных символов.ctype_lowerПроверить буквенное слово в нижнем регистре.ctype_printПроверить однострочное печатное поле, в котором допустим пробел.ctype_punctПроверить группу печатных небуквенных и нецифровых знаков.ctype_spaceУзнать, состоит ли всё значение из пробельных символов.ctype_upperПроверить буквенный технический код в верхнем регистре.ctype_xdigitПроверить HEX-строку перед цветовым значением или разбором байтов.cURL: HTTP-интеграции, файлы, параллельные запросы и полный справочник
curl_closeПрочитать старый код освобождения cURL: в PHP8 функция ничего не закрывает и с8.5 устарела.curl_copy_handleСделать отдельный клиент с теми же настройками, затем изменить только адрес или другие различия.curl_escapeЗакодировать одно значение URL по RFC3986, сохранив границы параметра запроса.curl_file_createСоздать такое же файловое вложение обычной функцией, когда удобнее процедурная запись.curl_multi_add_handleПередать настроенный запрос диспетчеру; набор адресов и политика одного запроса остаются у easyhandle.curl_multi_closeОчистить диспетчер от всех прикреплённых easyhandle, например в finally после отказа пакетной операции.curl_multi_errnoУзнать последний код ошибки диспетчера; не спутать его с HTTP-ошибкой одного сервиса.curl_multi_execСделать очередной шаг всех передач; получить код диспетчера и число ещё работающих запросов.curl_multi_get_handlesПосмотреть все easyhandle, прикреплённые к multi, без собственного списка ссылок; дополнительный API PHP8.5.curl_multi_getcontentПолучить накопленное тело конкретного запроса после завершения; отдельно проверить его транспортный результат.curl_multi_info_readЗабирать сообщения о завершившихся передачах по одному и узнавать их индивидуальные результаты.curl_multi_initПолучить диспетчер для нескольких независимых запросов: например, остатки и цены приходят от двух сервисов.curl_multi_remove_handleУбрать один запрос из диспетчера, например при отмене или после обработки завершения.curl_multi_selectПодождать, пока какая-то передача сможет продвинуться; убрать бесполезный опрос в тесном цикле.curl_multi_setoptНастроить весь диспетчер, например ограничить число сетевых соединений при сборе большой выгрузки.curl_multi_strerrorПеревести CURLM_* код диспетчера в техническую строку для журнала.curl_pauseПриостановить направление активной передачи, когда потребитель данных ещё не готов, затем явно продолжить.curl_resetСбросить настройки клиента перед новым сценарием, помня, что кэши и cookies могут остаться.curl_setoptНастроить одну часть будущего запроса: адрес, время ожидания, тело или обработчик ответа.curl_share_closeПонять старый cleanup-код: в PHP8 этот вызов ничего не закрывает, а с PHP8.5 помечен deprecated.curl_share_errnoПолучить код последней ошибки настройки share, например отказ изменения занятого кеша.curl_share_initСоздать общий кеш для нескольких cURL-клиентов одной операции, например использовать одну cookie-сессию партнёра.curl_share_init_persistentИспользовать согласованные кеши DNS/TLS/соединений между запросами PHP внутри одного живущего процесса.curl_share_setoptВыбрать или отключить конкретный вид общих данных у обычного sharehandle.curl_share_strerrorПолучить техническое описание числовой ошибки share, чтобы понять отказ настройки.curl_strerrorПолучить общее описание CURLcode, когда под рукой есть число ошибки, например из multi-очереди.curl_unescapeВернуть исходные байты процентно закодированного компонента URL.curl_upkeepВыполнить предусмотренное протоколом обслуживание уже существующих соединений.curl_versionПроверить возможности именно установленной libcurl перед выбором протокола или новой настройки.CURLFile::__constructПриложить существующий серверный файл к запросу: например, передать акт в сервис доставки.CURLFile::getFilenameУзнать исходный путь вложения перед отправкой и проверить, тот ли документ выбран.CURLFile::getMimeTypeПроверить, какой тип содержимого вы сами задали для вложения.CURLFile::getPostFilenameУзнать имя, с которым акт или отчёт будет представлен получателю.CURLFile::setMimeTypeИзменить описание типа вложения перед сборкой запроса, например для подготовленного CSV.CURLFile::setPostFilenameДать получателю понятное имя документа без переименования серверного файла.CURLStringFile::__constructПередать сгенерированный отчёт как файловое вложение прямо из строки, не создавая временный файл.SQL и PDO с нуля: база, таблица, данные и каталог на странице
PDO::__constructСоздать соединение, через которое сайт будет читать и менять данные.PDO::execВыполнить команду изменения без чтения набора строк.PDO::prepareПодготовить SQL-шаблон и отделить данные пользователя от грамматики SQL.PDO::queryВыполнить SQL без маркеров и получить объект результата.PDOStatement::bindParamСвязать переменную, актуальное значение которой прочитается при исполнении.PDOStatement::bindValueЗакрепить текущее значение за одним маркером SQL.PDOStatement::closeCursorОсвободить текущий результат, сохранив возможность выполнить команду снова.PDOStatement::executeЗапустить подготовленную команду с текущими значениями.PDOStatement::fetchВзять очередную строку результата в подходящем для PHP виде.PDOStatement::fetchAllПолучить все оставшиеся строки небольшого результата одним массивом.PDOStatement::fetchColumnПрочитать одну ячейку очередной строки, например COUNT или найденное имя.PDOStatement::rowCountУзнать число строк последнего INSERT, UPDATE или DELETE.Транзакции, гонки и идемпотентность заказа
PDO::beginTransactionОбъединить несколько SQL-изменений в одну подтверждаемую или отменяемую работу.PDO::commitПодтвердить изменения открытой транзакции и вернуться в autocommit.PDO::inTransactionУзнать, остаётся ли на этом соединении активная транзакция.PDO::rollBackОтменить изменения текущей незавершённой транзакции.Дата и время: часовые пояса, интервалы и реальные сроки
checkdateОтклонить несуществующую дату доставки до её сохранения.DateTimeImmutable::createFromFormatРазобрать дату в заранее известном формате, не полагаясь на свободное угадывание.DateTimeImmutable::diffПолучить календарный интервал, переводящий исходную дату в целевую.DateTimeImmutable::formatПолучить строку даты для человека или согласованного внешнего формата.DateTimeImmutable::modifyИзменить дату по понятному парсеру текстовому правилу, например «следующий понедельник».timeЗафиксировать момент создания записи и вычислить простой срок действия.Дата и время: полный справочник Date/Time
dateПолучить читаемую дату события в выбранном часовом поясе.date_addПрибавить подготовленный календарный интервал или прошедшую длительность.date_createПроцедурно создать объект даты и проверить false при неразбираемой строке.date_create_from_formatРазобрать дату в заранее известном формате, не полагаясь на свободное угадывание.date_create_immutableПроцедурно создать объект даты и проверить false при неразбираемой строке.date_create_immutable_from_formatРазобрать дату в заранее известном формате, не полагаясь на свободное угадывание.date_date_setПоставить конкретный год, месяц и день, сохранив время суток и зону.date_default_timezone_getУзнать, в какой зоне PHP сейчас интерпретирует даты без явно заданного пояса.date_default_timezone_setЯвно настроить общий timezone скрипта до работы с датами.date_diffПолучить календарный интервал, переводящий исходную дату в целевую.date_formatПолучить строку даты для человека или согласованного внешнего формата.date_get_last_errorsСразу прочитать предупреждения и ошибки последнего разбора даты.date_interval_create_from_date_stringПроцедурный вход в парсер относительного интервала со своей политикой ошибки.date_interval_formatФорматировать DateInterval обычной функцией с явным аргументом-объектом.date_isodate_setНайти дату по ISO-году, номеру недели и дню недели.date_modifyИзменить дату по понятному парсеру текстовому правилу, например «следующий понедельник».date_offset_getПрочитать UTC-смещение зоны именно на дату объекта.date_parseРазобрать строку в массив обнаруженных компонентов и диагностики.date_parse_from_formatРазобрать строку в массив обнаруженных компонентов и диагностики.date_subВычесть подготовленный календарный интервал или прошедшую длительность.date_sun_infoПолучить расчётный дневной план восхода, заката и сумерек для координат.date_sunriseПонять старый расчёт восхода и перейти на date_sun_info.date_sunsetПонять старый расчёт заката и перейти на date_sun_info.date_time_setНазначить часы, минуты, секунды и микросекунды на существующую дату.date_timestamp_getПолучить целые секунды Unix для момента, независимо от отображаемой зоны.date_timestamp_setУстановить точный момент по целым секундам Unix, сохранив зону отображения.date_timezone_getПолучить объект часового пояса, связанный с датой.date_timezone_setПоказать тот же момент на часах другого региона.DateIntervalХранить правило изменения даты отдельно от конкретной даты доставки или встречи.DateInterval::__constructСоздать шаг по чёткой машинной записи ISO8601.DateInterval::__serializeПолучить внутренний массив состояния для PHP-сериализации объекта.DateInterval::__set_stateСоздать отдельный объект при восстановлении PHP-экспорта; не выполнять посторонний код из настроек.DateInterval::__unserializeВосстановить объект из собственного массива состояния; это служебная операция изменения получателя.DateInterval::__wakeupУзнать старый hook восстановления и убрать ручное использование при миграции.DateInterval::createFromDateStringСоздать относительное календарное правило, например переход к следующему понедельнику.DateInterval::formatСделать понятную подпись интервала, сохранив разницу между компонентом и общим числом дней.DatePeriodХранить ограниченную последовательность повторяющихся дат: дни отчёта, окна бронирования или календарь обслуживания.DatePeriod::__constructСоздать расписание либо по числу повторений, либо до конечной даты, явно выбрав границы.DatePeriod::__serializeПолучить внутренний массив состояния для PHP-сериализации объекта.DatePeriod::__set_stateСоздать отдельный объект при восстановлении PHP-экспорта; не выполнять посторонний код из настроек.DatePeriod::__unserializeВосстановить объект из собственного массива состояния; это служебная операция изменения получателя.DatePeriod::__wakeupУзнать старый hook восстановления и убрать ручное использование при миграции.DatePeriod::createFromISO8601StringПрочитать ограниченное ISO8601-расписание из машинной настройки и получить период.DatePeriod::getDateIntervalПолучить объект шага периода для подписи или следующего расчёта.DatePeriod::getEndDateПрочитать заданную границу периода, не перепутав её с последней выданной датой.DatePeriod::getIteratorПолучить итератор дат, который обычно скрыт за foreach.DatePeriod::getRecurrencesОтличить настройку числа повторов от размера последовательности.DatePeriod::getStartDateПолучить исходную точку периода независимо от флага её включения.DateTime::__constructСоздать дату из строки и явно выбранного часового пояса.DateTime::__serializeПодготовить внутренний массив даты для механизма serialize.DateTime::__set_stateСоздать дату из массива состояния, используемого экспортом var_export.DateTime::__unserializeВосстановить внутреннее состояние даты из согласованного массива сериализации.DateTime::__wakeupРаспознать устаревший обработчик восстановления даты в старом коде.DateTime::addПрибавить подготовленный календарный интервал или прошедшую длительность.DateTime::createFromFormatРазобрать дату в заранее известном формате, не полагаясь на свободное угадывание.DateTime::createFromImmutableПолучить независимый объект DateTime с тем же моментом и зоной.DateTime::createFromInterfaceПолучить независимый объект DateTime с тем же моментом и зоной.DateTime::createFromTimestampСоздать объект из секунд Unix, сохранив дробную часть до микросекунд.DateTime::diffПолучить календарный интервал, переводящий исходную дату в целевую.DateTime::formatПолучить строку даты для человека или согласованного внешнего формата.DateTime::getLastErrorsСразу прочитать предупреждения и ошибки последнего разбора даты.DateTime::getMicrosecondПолучить целое число микросекунд внутри секунды.DateTime::getOffsetПрочитать UTC-смещение зоны именно на дату объекта.DateTime::getTimestampПолучить целые секунды Unix для момента, независимо от отображаемой зоны.DateTime::getTimezoneПолучить объект часового пояса, связанный с датой.DateTime::modifyИзменить дату по понятному парсеру текстовому правилу, например «следующий понедельник».DateTime::setDateПоставить конкретный год, месяц и день, сохранив время суток и зону.DateTime::setISODateНайти дату по ISO-году, номеру недели и дню недели.DateTime::setMicrosecondЗаменить только микросекундную часть, не меняя целые секунды.DateTime::setTimeНазначить часы, минуты, секунды и микросекунды на существующую дату.DateTime::setTimestampУстановить точный момент по целым секундам Unix, сохранив зону отображения.DateTime::setTimezoneПоказать тот же момент на часах другого региона.DateTime::subВычесть подготовленный календарный интервал или прошедшую длительность.DateTimeImmutable::__constructСоздать дату из строки и явно выбранного часового пояса.DateTimeImmutable::__serializeПодготовить внутренний массив даты для механизма serialize.DateTimeImmutable::__set_stateСоздать дату из массива состояния, используемого экспортом var_export.DateTimeImmutable::__unserializeВосстановить внутреннее состояние даты из согласованного массива сериализации.DateTimeImmutable::__wakeupРаспознать устаревший обработчик восстановления даты в старом коде.DateTimeImmutable::addПрибавить подготовленный календарный интервал или прошедшую длительность.DateTimeImmutable::createFromInterfaceПолучить независимый объект DateTimeImmutable с тем же моментом и зоной.DateTimeImmutable::createFromMutableПолучить независимый объект DateTimeImmutable с тем же моментом и зоной.DateTimeImmutable::createFromTimestampСоздать объект из секунд Unix, сохранив дробную часть до микросекунд.DateTimeImmutable::getLastErrorsСразу прочитать предупреждения и ошибки последнего разбора даты.DateTimeImmutable::getMicrosecondПолучить целое число микросекунд внутри секунды.DateTimeImmutable::getOffsetПрочитать UTC-смещение зоны именно на дату объекта.DateTimeImmutable::getTimestampПолучить целые секунды Unix для момента, независимо от отображаемой зоны.DateTimeImmutable::getTimezoneПолучить объект часового пояса, связанный с датой.DateTimeImmutable::setDateПоставить конкретный год, месяц и день, сохранив время суток и зону.DateTimeImmutable::setISODateНайти дату по ISO-году, номеру недели и дню недели.DateTimeImmutable::setMicrosecondЗаменить только микросекундную часть, не меняя целые секунды.DateTimeImmutable::setTimeНазначить часы, минуты, секунды и микросекунды на существующую дату.DateTimeImmutable::setTimestampУстановить точный момент по целым секундам Unix, сохранив зону отображения.DateTimeImmutable::setTimezoneПоказать тот же момент на часах другого региона.DateTimeImmutable::subВычесть подготовленный календарный интервал или прошедшую длительность.DateTimeInterface::__serializeПодготовить внутренний массив даты для механизма serialize.DateTimeInterface::__unserializeВосстановить внутреннее состояние даты из согласованного массива сериализации.DateTimeInterface::__wakeupРаспознать устаревший обработчик восстановления даты в старом коде.DateTimeInterface::diffПолучить календарный интервал, переводящий исходную дату в целевую.DateTimeInterface::formatПолучить строку даты для человека или согласованного внешнего формата.DateTimeInterface::getMicrosecondПолучить целое число микросекунд внутри секунды.DateTimeInterface::getOffsetПрочитать UTC-смещение зоны именно на дату объекта.DateTimeInterface::getTimestampПолучить целые секунды Unix для момента, независимо от отображаемой зоны.DateTimeInterface::getTimezoneПолучить объект часового пояса, связанный с датой.DateTimeZone::__constructСоздать настройки часового пояса для показа встречи, заказа или расписания.DateTimeZone::__serializeПонять, какие данные PHP сохраняет при сериализации объекта пояса; для настройки обычно достаточно имени.DateTimeZone::__set_stateПонять восстановление объекта, которое появляется в PHP-коде от var_export().DateTimeZone::__unserializeВосстановить внутренний объект из массива состояния, который ранее создал сам PHP.DateTimeZone::__wakeupУзнать старый механизм восстановления, чтобы убрать его ручные вызовы из старого проекта.DateTimeZone::getLocationПолучить страну и справочную точку региона, чтобы подписать выбор часового пояса.DateTimeZone::getNameПрочитать сохранённое описание пояса, например для настроек филиала.DateTimeZone::getOffsetУзнать смещение выбранного региона от UTC в конкретный момент.DateTimeZone::getTransitionsПосмотреть, когда меняются правила часов региона, и объяснить скачок в расписании.DateTimeZone::listAbbreviationsИсследовать сокращение из старого журнала, не принимая его за уникальное название региона.DateTimeZone::listIdentifiersПредложить человеку допустимые региональные настройки вместо ввода непонятных сокращений.getdateПолучить календарные поля события для отчёта или простой ветки расписания.gettimeofdayПолучить секунды и микросекунды одним согласованным снимком часов.gmdateПолучить UTC-подпись для внешнего протокола.gmmktimeПостроить момент отгрузки из отдельных календарных полей UTC.gmstrftimeПрочитать старый UTC формат даты по системной locale и заменить его явным formatter.idateПолучить одно числовое поле календаря для условия или группировки.localtimeРазобрать timestamp в структуру tm для совместимости со старым интерфейсом.microtimeПоставить в журнал отметку времени с дробной секундой, не путая её с секундомером.mktimeПостроить момент отгрузки из отдельных календарных полей местного времени.strftimeПрочитать старый локальный формат даты по системной locale и заменить его явным formatter.strptimeПонять старый locale-парсер и заменить его контролируемым разбором даты.strtotimeПрочитать текстовую настройку даты или относительный срок от явно заданной базы.timezone_abbreviations_listРазобрать сокращение из импортированного журнала и увидеть варианты его значения.timezone_identifiers_listПолучить список разрешённых регионов для формы и серверной проверки.timezone_location_getПолучить справочную географию выбранного пояса для подписи в административном интерфейсе.timezone_name_from_abbrПолучить предположение о названии пояса из старого сокращения; подтвердить его до применения.timezone_name_getПолучить имя пояса в процедурном коде, например перед сохранением настроек.timezone_offset_getВ процедурном отчёте прочитать смещение региона на дату события.timezone_openПолучить объект часового пояса обычным вызовом функции и проверить отказ.timezone_transitions_getПрочитать историю правил региона в процедурном коде, например для диагностики расписания.timezone_version_getУзнать версию правил времени, чтобы расследовать разницу расчётов между серверами.Запуск в production: PHP-FPM, релизы, cron и очереди
Каталоги: полный справочник Directory и функций
chdirСменить рабочий каталог текущего PHP-выполнения.chrootИзменить корень файловой системы процесса в специальном Unix-окружении.closedirЗакрыть открытый ресурс каталога, когда чтение закончено.dirОткрыть каталог через объект Directory с методами read, rewind и close.DirectoryХранить открытый каталог и его позицию чтения в стандартном объекте.Directory::closeЗакрыть открытый ресурс каталога, когда чтение закончено.Directory::readПрочитать имя следующей записи или получить false при окончании/неуспехе.Directory::rewindВернуть позицию открытого каталога к началу для повторного прохода.getcwdУзнать текущий рабочий каталог, от которого разрешаются относительные пути.opendirОткрыть каталог и получить ресурс для последовательного чтения.readdirПрочитать имя следующей записи или получить false при окончании/неуспехе.rewinddirВернуть позицию открытого каталога к началу для повторного прохода.scandirПолучить массив имён файлов и подкаталогов одного каталога.DOM: полный справочник XML- и HTML-дерева, классов и методов
Dom\AdjacentPosition::casesВыбрать и проверить положение вставки узла без строковой опечатки внутри прикладного кода.Dom\AdjacentPosition::fromВыбрать и проверить положение вставки узла без строковой опечатки внутри прикладного кода.Dom\AdjacentPosition::tryFromВыбрать и проверить положение вставки узла без строковой опечатки внутри прикладного кода.Dom\Attr::isIdУзнать, участвует ли атрибут в DOM-поиске по идентификатору.Dom\Attr::renameИзменить имя атрибута при миграции XML-контракта, сохранив сам объект и его содержимое.Dom\CharacterData::afterДобавить подпись или отметку после текстового узла без поиска parentNode и вычисления индекса.Dom\CharacterData::appendDataДополнить текст существующего узла, не создавать рядом новый Text и не менять вложенные элементы родителя.Dom\CharacterData::beforeДобавить подпись или отметку перед текстового узла без поиска parentNode и вычисления индекса.Dom\CharacterData::deleteDataУбрать известный служебный префикс из текстового поля, сохранив сам узел и окружающую разметку.Dom\CharacterData::insertDataВставить префикс или уточнение внутрь одного текстового поля, не собирая текст вручную из байтовых substr.Dom\CharacterData::removeУдалить текстового узла из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.Dom\CharacterData::replaceDataЗаменить выбранный диапазон текста одной операцией: например, обновить известную часть шаблонной подписи.Dom\CharacterData::replaceWithЗаменить сам текстового узла новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.Dom\CharacterData::substringDataВзять часть текстового поля XML для короткой подписи, сохранив полный исходный текст в документе.Dom\ChildNode::afterДобавить подпись или отметку после элемента без поиска parentNode и вычисления индекса.Dom\ChildNode::beforeДобавить подпись или отметку перед элемента без поиска parentNode и вычисления индекса.Dom\ChildNode::removeУдалить элемента из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.Dom\ChildNode::replaceWithЗаменить сам элемента новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.Dom\Document::adoptNodeПеренести товар в другой документ без копии.Dom\Document::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.Dom\Document::createAttributeПодготовить объект поля XML перед присоединением к элементу.Dom\Document::createAttributeNSСоздать атрибут внешней схемы, сохранив URI отдельно от его короткого префикса.Dom\Document::createCDATASectionПредставить текст как CDATA, когда получатель XML ожидает такую сериализацию описания.Dom\Document::createCommentДобавить пояснение в генерируемый XML-файл для человека, который будет его просматривать.Dom\Document::createDocumentFragmentПодготовить несколько узлов вместе, затем вставить их одним действием в документ.Dom\Document::createElementСоздать поле/элемент XML-экспорта, не собирая открывающие и закрывающие теги вручную.Dom\Document::createElementNSСоздать элемент конкретного XML-контракта с правильным пространством имён.Dom\Document::createProcessingInstructionДобавить инструкцию для специализированного XML-получателя, например связь с локальной таблицей стилей.Dom\Document::createTextNodeПоместить название товара или пользовательский текст в XML без превращения специальных символов в разметку.Dom\Document::getElementByIdНайти одну конкретную сущность DOM по идентификатору, а не повторно перебирать весь каталог вручную.Dom\Document::getElementsByClassNameНайти элементы по CSS-классам, например все карточки распродажи в подготовленном HTML/XML.Dom\Document::getElementsByTagNameНайти позиции XML-каталога внутри выбранного документа или ветки.Dom\Document::getElementsByTagNameNSНайти позиции XML-каталога внутри выбранного документа или ветки.Dom\Document::importLegacyNodeПеренести результат старой библиотеки DOMDocument в новый API Dom, не смешивая несовместимые объекты напрямую.Dom\Document::importNodeСкопировать товар из ответа поставщика в отдельный экспорт, сохранив оригинал.Dom\Document::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.Dom\Document::querySelectorВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\Document::querySelectorAllВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\Document::registerNodeClassДобавить предметный метод узлам каталога, чтобы в прикладном коде работать с понятным действием, а не повторять доступ к полям.Dom\Document::relaxNgValidateПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.Dom\Document::relaxNgValidateSourceПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.Dom\Document::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.Dom\Document::schemaValidateПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.Dom\Document::schemaValidateSourceПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.Dom\DocumentFragment::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.Dom\DocumentFragment::appendXmlРазобрать несколько соседних XML-элементов и подготовить их к одной вставке.Dom\DocumentFragment::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.Dom\DocumentFragment::querySelectorВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\DocumentFragment::querySelectorAllВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\DocumentFragment::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.Dom\DocumentType::afterДобавить подпись или отметку после декларации типа документа без поиска parentNode и вычисления индекса.Dom\DocumentType::beforeДобавить подпись или отметку перед декларации типа документа без поиска parentNode и вычисления индекса.Dom\DocumentType::removeУдалить декларации типа документа из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.Dom\DocumentType::replaceWithЗаменить сам декларации типа документа новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.Dom\DtdNamedNodeMap::countПосчитать записи именованной карты перед формированием отчёта или проверкой наличия метаданных.Dom\DtdNamedNodeMap::getIteratorПостроить список метаданных XML для отчёта без заранее известного количества атрибутов или DTD-объявлений.Dom\DtdNamedNodeMap::getNamedItemПрочитать именованный узел карты: например атрибут id товара или сущность DTD.Dom\DtdNamedNodeMap::getNamedItemNSИскать именованный узел по пространству имён и локальному имени, независимо от текстового префикса.Dom\DtdNamedNodeMap::itemПосмотреть один элемент именованной карты по позиции: атрибут либо объявление из DTD.Dom\Element::afterДобавить подпись или отметку после элемента без поиска parentNode и вычисления индекса.Dom\Element::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.Dom\Element::beforeДобавить подпись или отметку перед элемента без поиска parentNode и вычисления индекса.Dom\Element::closestНайти раздел/контейнер, которому принадлежит выбранный узел, например группу товара.Dom\Element::getAttributeПрочитать значение поля XML и использовать его в расчёте после проверки формата.Dom\Element::getAttributeNamesПолучить список полей для диагностики входящего XML, когда состав заранее неизвестен.Dom\Element::getAttributeNodeПолучить сам объект атрибута, когда нужно его состояние, namespace или передача другой операции DOM.Dom\Element::getAttributeNodeNSПолучить сам объект атрибута, когда нужно его состояние, namespace или передача другой операции DOM.Dom\Element::getAttributeNSПолучить поле интеграции по устойчивому URI, не привязываясь к выбранному поставщиком префиксу.Dom\Element::getDescendantNamespacesИзучить контекст пространств имён перед диагностикой XML, переносом ветки или построением namespace-aware запроса.Dom\Element::getElementsByClassNameНайти элементы по CSS-классам, например все карточки распродажи в подготовленном HTML/XML.Dom\Element::getElementsByTagNameНайти позиции XML-каталога внутри выбранного документа или ветки.Dom\Element::getElementsByTagNameNSНайти позиции XML-каталога внутри выбранного документа или ветки.Dom\Element::getInScopeNamespacesИзучить контекст пространств имён перед диагностикой XML, переносом ветки или построением namespace-aware запроса.Dom\Element::hasAttributeРазличить поле без значения и поле, которое вообще не передали.Dom\Element::hasAttributeNSПроверить наличие поля конкретной версии/схемы интеграции.Dom\Element::hasAttributesБыстро узнать, есть ли у элемента какие-либо атрибуты, перед формированием диагностического блока.Dom\Element::insertAdjacentElementДобавить готовый элемент относительно выбранной карточки/элемента, не вычисляя родителей и соседей вручную.Dom\Element::insertAdjacentHTMLВставить управляемую HTML-разметку компонента в современное дерево без ручного построения каждого тега.Dom\Element::insertAdjacentTextДобавить буквальный текст относительно выбранной карточки/элемента, не вычисляя родителей и соседей вручную.Dom\Element::matchesПроверить уже известный элемент по CSS-условию, не искать его повторно во всём документе.Dom\Element::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.Dom\Element::querySelectorВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\Element::querySelectorAllВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\Element::removeУдалить элемента из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.Dom\Element::removeAttributeУбрать необязательное или устаревшее поле из XML, сохранив остальные атрибуты.Dom\Element::removeAttributeNodeУдалить конкретный объект Attr, например после обработки поля, и оставить объект для журнала изменений.Dom\Element::removeAttributeNSУдалить поле одной интеграции, не трогая похожие имена в другом пространстве.Dom\Element::renameИзменить имя элемента при миграции XML-контракта, сохранив сам объект и его содержимое.Dom\Element::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.Dom\Element::replaceWithЗаменить сам элемента новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.Dom\Element::setAttributeИзменить остаток либо добавить поле экспорта, поручив DOM корректное XML-экранирование.Dom\Element::setAttributeNodeПрисоединить заранее созданный Attr к товару, сохранив заменённое поле при необходимости.Dom\Element::setAttributeNodeNSПрисоединить заранее созданный Attr к товару, сохранив заменённое поле при необходимости.Dom\Element::setAttributeNSДобавить сведения другой подсистемы, не смешивая одноимённые поля XML-контрактов.Dom\Element::setIdAttributeОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.Dom\Element::setIdAttributeNodeОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.Dom\Element::setIdAttributeNSОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.Dom\Element::toggleAttributeСогласовать булев атрибут со статусом товара без ручной пары set/remove.Dom\HTMLCollection::countПонять, сколько узлов найдено: есть ли позиции каталога и сколько карточек надо вывести.Dom\HTMLCollection::getIteratorПеребрать найденные позиции привычным foreach либо зафиксировать набор перед изменениями.Dom\HTMLCollection::itemПолучить один найденный узел, например первую позицию XML-каталога, и явно обработать отсутствие позиции.Dom\HTMLCollection::namedItemНайти элемент HTML-коллекции по id либо name, например поле выгруженной HTML-формы.Dom\HTMLDocument::createEmptyНачать генерацию нового HTML документа с известной кодировкой, когда читать исходный файл не нужно.Dom\HTMLDocument::createFromFileПолучить современное дерево HTML по правилам браузерного стандарта из файла.Dom\HTMLDocument::createFromStringПолучить современное дерево HTML по правилам браузерного стандарта из строки.Dom\HTMLDocument::saveHtmlСохранить сформированное дерево в строку для ответа или дальнейшей обработки.Dom\HTMLDocument::saveHtmlFileСохранить сформированное дерево в файл для выгрузки.Dom\HTMLDocument::saveXmlСохранить сформированное дерево в строку для ответа или дальнейшей обработки.Dom\HTMLDocument::saveXmlFileСохранить сформированное дерево в файл для выгрузки.Dom\Implementation::createDocumentСоздать XML-документ сразу с корнем нужного пространства имён и необязательным doctype.Dom\Implementation::createDocumentTypeСоздать doctype для формата, которому нужен публичный/системный идентификатор DTD.Dom\Implementation::createHTMLDocumentПолучить готовый HTML-скелет с doctype, html, head и body для серверного отчёта.Dom\import_simplexmlПолучить DOM-представление уже разобранного SimpleXML, когда требуется операция над деревом, которой нет в кратком API.Dom\NamedNodeMap::countПосчитать записи именованной карты перед формированием отчёта или проверкой наличия метаданных.Dom\NamedNodeMap::getIteratorПостроить список метаданных XML для отчёта без заранее известного количества атрибутов или DTD-объявлений.Dom\NamedNodeMap::getNamedItemПрочитать именованный узел карты: например атрибут id товара или сущность DTD.Dom\NamedNodeMap::getNamedItemNSИскать именованный узел по пространству имён и локальному имени, независимо от текстового префикса.Dom\NamedNodeMap::itemПосмотреть один элемент именованной карты по позиции: атрибут либо объявление из DTD.Dom\NamespaceInfo::__constructПонять, почему этот объект нельзя создавать вручную и откуда получить корректный экземпляр.Dom\Node::__constructПонять, почему этот объект нельзя создавать вручную и откуда получить корректный экземпляр.Dom\Node::__sleepПонять отказ serialize($node): DOM-узел нельзя сохранить как обычный PHP-объект с одной лишь служебной ссылкой на дерево.Dom\Node::__wakeupРазобраться, почему внутренний DOM-объект нельзя восстановить из обычного PHP-представления: для дерева нужен настоящий разбор XML.Dom\Node::appendChildДобавить строку заказа последним ребёнком: создание узла и его включение в документ — два разных действия.Dom\Node::C14NПолучить стабильное XML-представление для сравнения/контрольной суммы, когда обычный порядок атрибутов не должен считаться изменением.Dom\Node::C14NFileЗаписать согласованное каноническое XML-представление в контролируемый локальный файл и проверить число записанных байтов.Dom\Node::cloneNodeПолучить независимую заготовку карточки товара: исходный узел остаётся на месте, а копию можно изменить и затем вставить.Dom\Node::compareDocumentPositionУзнать порядок двух найденных узлов и отдельно проверить вложенность; это полезно для упорядочивания результатов из разных поисков.Dom\Node::containsПроверить, что найденный узел действительно находится внутри разрешённого блока документа, а не в другой части дерева.Dom\Node::getLineNoПоказать автору XML строку проблемной записи вместо сообщения «ошибка где-то в файле».Dom\Node::getNodePathПолучить путь к конкретной записи для диагностики импорта или повторного выбора в неизменённом документе.Dom\Node::getRootNodeОтличить узел, включённый в документ, от отдельно подготовленной ветки, которой ещё предстоит вставка.Dom\Node::hasChildNodesУзнать, есть ли у блока дети, прежде чем выбирать режим обработки. Текст тоже считается ребёнком.Dom\Node::insertBeforeВставить предупреждение перед первой позицией или новый пункт перед известным соседом, не пересобирая весь XML.Dom\Node::isDefaultNamespaceПроверить, какой URI используется для непредварённых префиксом элементов в текущей области XML.Dom\Node::isEqualNodeСравнить содержимое двух XML-блоков перед заменой: если структура не изменилась, можно пропустить запись новой версии.Dom\Node::isSameNodeПроверить идентичность узла: два результата поиска указывают на одну запись дерева или на две похожие записи?Dom\Node::lookupNamespaceURIПо короткому префиксу выяснить, к какому XML-пространству имён он относится именно в этой точке документа.Dom\Node::lookupPrefixНайти доступный префикс для известного URI, например для понятного диагностического сообщения о внешнем XML.Dom\Node::normalizeПосле нескольких добавлений текста собрать соседние текстовые узлы в один, чтобы обход документа не зависел от истории его редактирования.Dom\Node::removeChildИсключить позицию из текущего заказа: удалить связь с родителем, сохранив сам узел для архива или переноса.Dom\Node::replaceChildЗаменить устаревший блок цены новым, сохранив место блока и получив прежнюю версию для журнала изменений.Dom\NodeList::countПонять, сколько узлов найдено: есть ли позиции каталога и сколько карточек надо вывести.Dom\NodeList::getIteratorПеребрать найденные позиции привычным foreach либо зафиксировать набор перед изменениями.Dom\NodeList::itemПолучить один найденный узел, например первую позицию XML-каталога, и явно обработать отсутствие позиции.Dom\ParentNode::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.Dom\ParentNode::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.Dom\ParentNode::querySelectorВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\ParentNode::querySelectorAllВыбрать элементы по знакомому CSS-условию: класс, атрибут или структура каталога.Dom\ParentNode::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.Dom\Text::splitTextОтделить часть текстового узла, чтобы обернуть её отдельным элементом, например выделить важное слово в описании.Dom\TokenList::__constructПонять, почему этот объект нельзя создавать вручную и откуда получить корректный экземпляр.Dom\TokenList::addДобавить CSS-классы карточке товара без дубликатов и ручного склеивания строки class.Dom\TokenList::containsПроверить точное наличие CSS-класса, не получив ложное совпадение по части строки.Dom\TokenList::countПолучить число уникальных классов у элемента, например для диагностического списка меток компонента.Dom\TokenList::getIteratorПередать классы элемента обычному PHP-обходу или получить отдельный массив для безопасного планирования изменений.Dom\TokenList::itemПрочитать один CSS-токен по позиции, например показать список меток в инспекторе шаблона.Dom\TokenList::removeСнять устаревшие CSS-метки, не разбивая и не пересобирая class вручную.Dom\TokenList::replaceПереименовать существующую CSS-метку, например перейти от старого имени состояния к новому без потери остальных классов.Dom\TokenList::supportsОтличить проверку «разрешён ли токен спецификацией атрибута» от обычной проверки «есть ли класс у элемента».Dom\TokenList::toggleСинхронизировать один CSS-класс с логическим состоянием товара: в наличии или нет, выбран или нет.Dom\XMLDocument::createEmptyНачать генерацию нового XML документа с известной кодировкой, когда читать исходный файл не нужно.Dom\XMLDocument::createEntityReferenceСоздать ссылку на уже объявленную сущность XML, когда формат обмена сохраняет такие ссылки.Dom\XMLDocument::createFromFileПолучить современное дерево XML из файла.Dom\XMLDocument::createFromStringПолучить современное дерево XML из строки.Dom\XMLDocument::saveXmlСохранить сформированное дерево в строку для ответа или дальнейшей обработки.Dom\XMLDocument::saveXmlFileСохранить сформированное дерево в файл для выгрузки.Dom\XMLDocument::validateПроверить XML по его DTD, если старый формат обмена описан именно этим способом.Dom\XMLDocument::xincludeСобрать управляемый XML-отчёт из нескольких локальных частей, когда формат требует XInclude.Dom\XPath::__constructПодготовить поиск по дереву каталога: выбрать товары, атрибуты или вычислить итог одним XPath-выражением.Dom\XPath::evaluateВычислить строку/число/логическое условие по XML.Dom\XPath::queryПолучить узлы XML, которые соответствуют пути и условиям отбора.Dom\XPath::quoteВставить искомое название с кавычками в XPath как строковое значение, сохранив границу между данными и выражением.Dom\XPath::registerNamespaceНайти XML-элементы с пространством имён, включая default namespace без префикса в исходном файле.Dom\XPath::registerPhpFunctionNSДобавить предметную функцию XPath с понятным именем, например превратить список выбранных товаров в заголовок отчёта.Dom\XPath::registerPhpFunctionsДобавить в контролируемый XPath ограниченный набор PHP-преобразований, если штатных XPath-функций недостаточно.dom_import_simplexmlПолучить DOM-представление уже разобранного SimpleXML, когда требуется операция над деревом, которой нет в кратком API.DOMAttr::__constructСоздать отдельный старый DOMAttr и понять отличие свободного узла от узла, уже принадлежащего документу.DOMAttr::isIdУзнать, участвует ли атрибут в DOM-поиске по идентификатору.DOMCdataSection::__constructПредставить текст с угловыми скобками как CDATA в XML-выгрузке, когда формат получателя требует именно такую запись.DOMCharacterData::afterДобавить подпись или отметку после текстового узла без поиска parentNode и вычисления индекса.DOMCharacterData::appendDataДополнить текст существующего узла, не создавать рядом новый Text и не менять вложенные элементы родителя.DOMCharacterData::beforeДобавить подпись или отметку перед текстового узла без поиска parentNode и вычисления индекса.DOMCharacterData::deleteDataУбрать известный служебный префикс из текстового поля, сохранив сам узел и окружающую разметку.DOMCharacterData::insertDataВставить префикс или уточнение внутрь одного текстового поля, не собирая текст вручную из байтовых substr.DOMCharacterData::removeУдалить текстового узла из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.DOMCharacterData::replaceDataЗаменить выбранный диапазон текста одной операцией: например, обновить известную часть шаблонной подписи.DOMCharacterData::replaceWithЗаменить сам текстового узла новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.DOMCharacterData::substringDataВзять часть текстового поля XML для короткой подписи, сохранив полный исходный текст в документе.DOMChildNode::afterДобавить подпись или отметку после элемента без поиска parentNode и вычисления индекса.DOMChildNode::beforeДобавить подпись или отметку перед элемента без поиска parentNode и вычисления индекса.DOMChildNode::removeУдалить элемента из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.DOMChildNode::replaceWithЗаменить сам элемента новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.DOMComment::__constructДобавить техническую заметку в XML, которая останется комментарием, а не товаром или текстом поля.DOMDocument::__constructСоздать старый DOMDocument для совместимого XML-кода, затем наполнить его узлами или загрузить документ.DOMDocument::adoptNodeПеренести товар в другой документ без копии.DOMDocument::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.DOMDocument::createAttributeПодготовить объект поля XML перед присоединением к элементу.DOMDocument::createAttributeNSСоздать атрибут внешней схемы, сохранив URI отдельно от его короткого префикса.DOMDocument::createCDATASectionПредставить текст как CDATA, когда получатель XML ожидает такую сериализацию описания.DOMDocument::createCommentДобавить пояснение в генерируемый XML-файл для человека, который будет его просматривать.DOMDocument::createDocumentFragmentПодготовить несколько узлов вместе, затем вставить их одним действием в документ.DOMDocument::createElementСоздать поле/элемент XML-экспорта, не собирая открывающие и закрывающие теги вручную.DOMDocument::createElementNSСоздать элемент конкретного XML-контракта с правильным пространством имён.DOMDocument::createEntityReferenceСоздать ссылку на уже объявленную сущность XML, когда формат обмена сохраняет такие ссылки.DOMDocument::createProcessingInstructionДобавить инструкцию для специализированного XML-получателя, например связь с локальной таблицей стилей.DOMDocument::createTextNodeПоместить название товара или пользовательский текст в XML без превращения специальных символов в разметку.DOMDocument::getElementByIdНайти одну конкретную сущность DOM по идентификатору, а не повторно перебирать весь каталог вручную.DOMDocument::getElementsByTagNameНайти позиции XML-каталога внутри выбранного документа или ветки.DOMDocument::getElementsByTagNameNSНайти позиции XML-каталога внутри выбранного документа или ветки.DOMDocument::importNodeСкопировать товар из ответа поставщика в отдельный экспорт, сохранив оригинал.DOMDocument::loadЗагрузить XML-каталог из контролируемого локального файла.DOMDocument::loadHTMLЗагрузить HTML-страницу старым API из уже полученной строки.DOMDocument::loadHTMLFileЗагрузить HTML-страницу старым API из контролируемого локального файла.DOMDocument::loadXMLЗагрузить XML-каталог из уже полученной строки.DOMDocument::normalizeDocumentПривести текстовые узлы всего старого DOM к согласованному виду после серии склеиваний и вставок.DOMDocument::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.DOMDocument::registerNodeClassДобавить предметный метод узлам каталога, чтобы в прикладном коде работать с понятным действием, а не повторять доступ к полям.DOMDocument::relaxNGValidateПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.DOMDocument::relaxNGValidateSourceПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.DOMDocument::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.DOMDocument::saveСохранить сформированное дерево в файл для выгрузки.DOMDocument::saveHTMLСохранить сформированное дерево в строку для ответа или дальнейшей обработки.DOMDocument::saveHTMLFileСохранить сформированное дерево в файл для выгрузки.DOMDocument::saveXMLСохранить сформированное дерево в строку для ответа или дальнейшей обработки.DOMDocument::schemaValidateПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.DOMDocument::schemaValidateSourceПроверить, что XML содержит допустимое значение остатка, до сохранения данных в вашей системе.DOMDocument::validateПроверить XML по его DTD, если старый формат обмена описан именно этим способом.DOMDocument::xincludeСобрать управляемый XML-отчёт из нескольких локальных частей, когда формат требует XInclude.DOMDocumentFragment::__constructСоздать отдельный старый DOMDocumentFragment и понять отличие свободного узла от узла, уже принадлежащего документу.DOMDocumentFragment::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.DOMDocumentFragment::appendXMLРазобрать несколько соседних XML-элементов и подготовить их к одной вставке.DOMDocumentFragment::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.DOMDocumentFragment::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.DOMElement::__constructСоздать отдельный старый DOMElement и понять отличие свободного узла от узла, уже принадлежащего документу.DOMElement::afterДобавить подпись или отметку после элемента без поиска parentNode и вычисления индекса.DOMElement::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.DOMElement::beforeДобавить подпись или отметку перед элемента без поиска parentNode и вычисления индекса.DOMElement::getAttributeПрочитать значение поля XML и использовать его в расчёте после проверки формата.DOMElement::getAttributeNamesПолучить список полей для диагностики входящего XML, когда состав заранее неизвестен.DOMElement::getAttributeNodeПолучить сам объект атрибута, когда нужно его состояние, namespace или передача другой операции DOM.DOMElement::getAttributeNodeNSПолучить сам объект атрибута, когда нужно его состояние, namespace или передача другой операции DOM.DOMElement::getAttributeNSПолучить поле интеграции по устойчивому URI, не привязываясь к выбранному поставщиком префиксу.DOMElement::getElementsByTagNameНайти позиции XML-каталога внутри выбранного документа или ветки.DOMElement::getElementsByTagNameNSНайти позиции XML-каталога внутри выбранного документа или ветки.DOMElement::hasAttributeРазличить поле без значения и поле, которое вообще не передали.DOMElement::hasAttributeNSПроверить наличие поля конкретной версии/схемы интеграции.DOMElement::insertAdjacentElementДобавить готовый элемент относительно выбранной карточки/элемента, не вычисляя родителей и соседей вручную.DOMElement::insertAdjacentTextДобавить буквальный текст относительно выбранной карточки/элемента, не вычисляя родителей и соседей вручную.DOMElement::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.DOMElement::removeУдалить элемента из дерева, имея только сам объект: вызов parentNode->removeChild не требуется.DOMElement::removeAttributeУбрать необязательное или устаревшее поле из XML, сохранив остальные атрибуты.DOMElement::removeAttributeNodeУдалить конкретный объект Attr, например после обработки поля, и оставить объект для журнала изменений.DOMElement::removeAttributeNSУдалить поле одной интеграции, не трогая похожие имена в другом пространстве.DOMElement::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.DOMElement::replaceWithЗаменить сам элемента новой последовательностью узлов; это другое действие, чем заменить его внутреннее содержимое.DOMElement::setAttributeИзменить остаток либо добавить поле экспорта, поручив DOM корректное XML-экранирование.DOMElement::setAttributeNodeПрисоединить заранее созданный Attr к товару, сохранив заменённое поле при необходимости.DOMElement::setAttributeNodeNSПрисоединить заранее созданный Attr к товару, сохранив заменённое поле при необходимости.DOMElement::setAttributeNSДобавить сведения другой подсистемы, не смешивая одноимённые поля XML-контрактов.DOMElement::setIdAttributeОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.DOMElement::setIdAttributeNodeОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.DOMElement::setIdAttributeNSОбъявить прикладное поле sku идентификатором DOM, чтобы затем находить товар через getElementById.DOMElement::toggleAttributeСогласовать булев атрибут со статусом товара без ручной пары set/remove.DOMEntityReference::__constructСоздать отдельный старый DOMEntityReference и понять отличие свободного узла от узла, уже принадлежащего документу.DOMImplementation::__constructСоздать объект старых фабрик DOM для создания DocumentType и документа.DOMImplementation::createDocumentСоздать XML-документ сразу с корнем нужного пространства имён и необязательным doctype.DOMImplementation::createDocumentTypeСоздать doctype для формата, которому нужен публичный/системный идентификатор DTD.DOMImplementation::hasFeatureПрочитать историческое сообщение реализации о поддержке DOM-модуля, если сопровождается старый код.DOMNamedNodeMap::countПосчитать записи именованной карты перед формированием отчёта или проверкой наличия метаданных.DOMNamedNodeMap::getIteratorПостроить список метаданных XML для отчёта без заранее известного количества атрибутов или DTD-объявлений.DOMNamedNodeMap::getNamedItemПрочитать именованный узел карты: например атрибут id товара или сущность DTD.DOMNamedNodeMap::getNamedItemNSИскать именованный узел по пространству имён и локальному имени, независимо от текстового префикса.DOMNamedNodeMap::itemПосмотреть один элемент именованной карты по позиции: атрибут либо объявление из DTD.DOMNameSpaceNode::__sleepРаспознать запрет стандартной PHP-сериализации namespace-обёртки вместо сохранения неработоспособного объекта в сессии.DOMNameSpaceNode::__wakeupРаспознать запрет стандартной PHP-сериализации namespace-обёртки вместо сохранения неработоспособного объекта в сессии.DOMNode::__sleepПонять отказ serialize($node): DOM-узел нельзя сохранить как обычный PHP-объект с одной лишь служебной ссылкой на дерево.DOMNode::__wakeupРазобраться, почему внутренний DOM-объект нельзя восстановить из обычного PHP-представления: для дерева нужен настоящий разбор XML.DOMNode::appendChildДобавить строку заказа последним ребёнком: создание узла и его включение в документ — два разных действия.DOMNode::C14NПолучить стабильное XML-представление для сравнения/контрольной суммы, когда обычный порядок атрибутов не должен считаться изменением.DOMNode::C14NFileЗаписать согласованное каноническое XML-представление в контролируемый локальный файл и проверить число записанных байтов.DOMNode::cloneNodeПолучить независимую заготовку карточки товара: исходный узел остаётся на месте, а копию можно изменить и затем вставить.DOMNode::compareDocumentPositionУзнать порядок двух найденных узлов и отдельно проверить вложенность; это полезно для упорядочивания результатов из разных поисков.DOMNode::containsПроверить, что найденный узел действительно находится внутри разрешённого блока документа, а не в другой части дерева.DOMNode::getLineNoПоказать автору XML строку проблемной записи вместо сообщения «ошибка где-то в файле».DOMNode::getNodePathПолучить путь к конкретной записи для диагностики импорта или повторного выбора в неизменённом документе.DOMNode::getRootNodeОтличить узел, включённый в документ, от отдельно подготовленной ветки, которой ещё предстоит вставка.DOMNode::hasAttributesПонять, есть ли атрибуты у элемента, например сохранены ли какие-либо настройки фильтра.DOMNode::hasChildNodesУзнать, есть ли у блока дети, прежде чем выбирать режим обработки. Текст тоже считается ребёнком.DOMNode::insertBeforeВставить предупреждение перед первой позицией или новый пункт перед известным соседом, не пересобирая весь XML.DOMNode::isDefaultNamespaceПроверить, какой URI используется для непредварённых префиксом элементов в текущей области XML.DOMNode::isEqualNodeСравнить содержимое двух XML-блоков перед заменой: если структура не изменилась, можно пропустить запись новой версии.DOMNode::isSameNodeПроверить идентичность узла: два результата поиска указывают на одну запись дерева или на две похожие записи?DOMNode::isSupportedПрочитать старую декларацию поддержки DOM feature/version при сопровождении исторического кода.DOMNode::lookupNamespaceURIПо короткому префиксу выяснить, к какому XML-пространству имён он относится именно в этой точке документа.DOMNode::lookupPrefixНайти доступный префикс для известного URI, например для понятного диагностического сообщения о внешнем XML.DOMNode::normalizeПосле нескольких добавлений текста собрать соседние текстовые узлы в один, чтобы обход документа не зависел от истории его редактирования.DOMNode::removeChildИсключить позицию из текущего заказа: удалить связь с родителем, сохранив сам узел для архива или переноса.DOMNode::replaceChildЗаменить устаревший блок цены новым, сохранив место блока и получив прежнюю версию для журнала изменений.DOMNodeList::countПонять, сколько узлов найдено: есть ли позиции каталога и сколько карточек надо вывести.DOMNodeList::getIteratorПеребрать найденные позиции привычным foreach либо зафиксировать набор перед изменениями.DOMNodeList::itemПолучить один найденный узел, например первую позицию XML-каталога, и явно обработать отсутствие позиции.DOMParentNode::appendДобавить группу детей в конец контейнера одним вызовом, сохранив порядок переданных узлов.DOMParentNode::prependДобавить группу детей в начало контейнера одним вызовом, сохранив порядок переданных узлов.DOMParentNode::replaceChildrenЗаменить содержимое контейнера готовой последовательностью, сохранив сам контейнер и не удаляя детей по одному.DOMProcessingInstruction::__constructДобавить инструкцию для программы-получателя XML, например указание локального стиля отображения; PHP сам такую инструкцию не исполняет.DOMText::__constructСоздать буквальный текст без документа, чтобы затем вставить его в XML: символы & и < не должны превращаться в разметку.DOMText::isElementContentWhitespaceОтличить форматирующий пробельный Text от узла с буквами, когда обход XML неожиданно встречает переносы строк между элементами.DOMText::isWhitespaceInElementContentОтличить форматирующий пробельный Text от узла с буквами, когда обход XML неожиданно встречает переносы строк между элементами.DOMText::splitTextОтделить часть текстового узла, чтобы обернуть её отдельным элементом, например выделить важное слово в описании.DOMXPath::__constructПодготовить поиск по дереву каталога: выбрать товары, атрибуты или вычислить итог одним XPath-выражением.DOMXPath::evaluateВычислить строку/число/логическое условие по XML.DOMXPath::queryПолучить узлы XML, которые соответствуют пути и условиям отбора.DOMXPath::quoteВставить искомое название с кавычками в XPath как строковое значение, сохранив границу между данными и выражением.DOMXPath::registerNamespaceНайти XML-элементы с пространством имён, включая default namespace без префикса в исходном файле.DOMXPath::registerPhpFunctionNSДобавить предметную функцию XPath с понятным именем, например превратить список выбранных товаров в заголовок отчёта.DOMXPath::registerPhpFunctionsДобавить в контролируемый XPath ограниченный набор PHP-преобразований, если штатных XPath-функций недостаточно.Enum и readonly: допустимые варианты и неизменяемые значения
Обработка ошибок и журналирование: полный справочник функций
debug_backtraceУзнать, по какой цепочке вызовов мы пришли в текущую точку.debug_print_backtraceБыстро напечатать текущий стек в локальной отладке или временно перехватить его как текст.error_clear_lastУбрать старую диагностическую запись перед отдельным опытом или новой задачей worker.error_get_lastПрочитать последнюю стандартную диагностику сразу после неудачной операции.error_logСохранить короткое событие для разработчика и оставить ответ посетителю чистым.error_reportingВыбрать диагностические уровни на время операции и вернуть прежний режим.get_error_handlerВ PHP 8.5 прочитать текущий callback без временной замены настройки.get_exception_handlerУзнать, кому достанется непойманное исключение, не вызывая обработчик.restore_error_handlerСнять свой временный обработчик вместе с маской и вернуть хозяину его окружение.restore_exception_handlerВернуть предыдущую последнюю границу после временной регистрации.set_error_handlerВременно обработать предупреждения операции, не засоряя её обычный результат.set_exception_handlerЗадать последнюю границу запроса, когда Throwable не пойман ближе к операции.trigger_errorСообщить вызывающему коду о диагностическом событии вашей библиотеки.user_errorУзнать в старой библиотеке второе имя trigger_error и сохранить поведение при миграции.Исключения и ошибки: весь API Throwable, Exception, Error и SPL
Error::__cloneПонять, почему объект исключения нельзя клонировать.Error::__constructСоздать объект с сообщением, кодом и необязательной причиной.Error::__toStringПолучить полное диагностическое строковое представление объекта.Error::getCodeПрочитать код, который выбрал источник исключения.Error::getFileНайти файл создания объекта сбоя.Error::getLineНайти строку создания объекта сбоя.Error::getMessageПрочитать описание сбоя, не печатая его автоматически.Error::getPreviousПолучить непосредственную причину, сохранённую при обёртывании.Error::getTraceПолучить стек вызовов как массив для диагностического инструмента.Error::getTraceAsStringПолучить готовый текст стека вместо массива кадров.ErrorException::__constructСохранить сообщение и исходное место PHP-предупреждения.ErrorException::getSeverityПрочитать уровень PHP-ошибки, записанный в ErrorException.Exception::__cloneПонять, почему объект исключения нельзя клонировать.Exception::__constructСоздать объект с сообщением, кодом и необязательной причиной.Exception::__toStringПолучить полное диагностическое строковое представление объекта.Exception::getCodeПрочитать код, который выбрал источник исключения.Exception::getFileНайти файл создания объекта сбоя.Exception::getLineНайти строку создания объекта сбоя.Exception::getMessageПрочитать описание сбоя, не печатая его автоматически.Exception::getPreviousПолучить непосредственную причину, сохранённую при обёртывании.Exception::getTraceПолучить стек вызовов как массив для диагностического инструмента.Exception::getTraceAsStringПолучить готовый текст стека вместо массива кадров.FiberError::__constructПоказать запрет ручного создания внутреннего FiberError.Throwable::__toStringПолучить полное диагностическое строковое представление объекта.Throwable::getCodeПрочитать код, который выбрал источник исключения.Throwable::getFileНайти файл создания объекта сбоя.Throwable::getLineНайти строку создания объекта сбоя.Throwable::getMessageПрочитать описание сбоя, не печатая его автоматически.Throwable::getPreviousПолучить непосредственную причину, сохранённую при обёртывании.Throwable::getTraceПолучить стек вызовов как массив для диагностического инструмента.Throwable::getTraceAsStringПолучить готовый текст стека вместо массива кадров.Запуск программ: полный справочник, вывод и управление процессом
escapeshellargСформировать один аргумент shell-команды, сохранив пробелы внутри него.escapeshellcmdЭкранировать метасимволы целой shell-строки, понимая, что границы аргументов при этом не защищены.passthruПередать сырые байты stdout в вывод PHP, например результат доверенного конвертера.proc_closeДождаться окончания своего процесса и освободить его ресурс, получив код завершения.proc_get_statusУзнать, работает ли ваш дочерний процесс, и сохранить сведения о его завершении.proc_niceИзменить приоритет текущего PHP-процесса, например отдельного фонового worker.proc_terminateПопросить завершиться именно тому процессу, которым владеет ваш запуск.shell_execПолучить stdout целиком одной строкой, когда отдельный код завершения не требуется.systemПоказать текст, который печатает дочерняя программа, непосредственно в выводе PHP.EXIF: метаданные фотографий, ориентация и миниатюры
exif_imagetypeРаспознать формат изображения по первым байтам.exif_read_dataПрочитать секции метаданных JPEG/TIFF в массив.exif_tagnameНайти техническое имя EXIF-тега по числовому ID.exif_thumbnailИзвлечь встроенную JPEG/TIFF-миниатюру без создания новой.read_exif_dataИсторический алиас: перенос вызовов на exif_read_data.Expect: диалог с терминальной программой и наследуемый API
PHP запускает Python, Node.js и другие программы: отчёт, JSON и проверка ошибок
FFI PHP: полный справочник CData, CType, памяти, DLL/SO и ABI
FFI::addrПолучить указатель на существующий CData, например для out-параметра C-функции.FFI::alignofУзнать требуемое выравнивание C-типа или значения на текущей ABI-платформе.FFI::arrayTypeСобрать многомерный C-массив из базового CType и массива размеров.FFI::castПосмотреть на ту же область памяти через другой совместимый C-тип без копирования и без передачи владения.FFI::cdefРазобрать объявления C и при необходимости связать их с DLL/SO, получив объект вызова библиотеки.FFI::freeОсвободить ровно один ранее созданный unmanaged-буфер и больше его не использовать.FFI::isNullОтличить нулевой C-указатель от указателя на реальную область памяти.FFI::loadЗагрузить объявления из отдельного заголовка с FFI_SCOPE/FFI_LIB вместо длинной строки в PHP.FFI::memcmpЛексикографически сравнить точное число сырых байтов двух областей памяти.FFI::memcpyСкопировать точное число сырых байтов между PHP-строкой/CData и C-буфером.FFI::memsetЗаполнить точное число байтов C-буфера одним байтовым значением.FFI::newВыделить C-память заданного типа и явно выбрать управляемое или ручное владение.FFI::scopeПолучить уже разобранную при preloading именованную привязку без повторного парсинга заголовка.FFI::sizeofУзнать число байтов, занимаемых CData или CType на текущей ABI-платформе.FFI::stringСкопировать C-буфер char в обычную PHP-строку по длине или до нулевого байта.FFI::typeРазобрать C-декларацию типа в объект FFI\CType для повторного создания и анализа.FFI::typeofУзнать фактический C-тип уже созданного FFI\CData.FFI\CType::getAlignmentПолучить требуемое выравнивание CType в байтах.FFI\CType::getArrayElementTypeПерейти от CType массива к типу одного элемента.FFI\CType::getArrayLengthПолучить число элементов одного измерения CType массива.FFI\CType::getAttributesПолучить битовую маску const/variadic/union/packed и других атрибутов типа.FFI\CType::getEnumKindУзнать целочисленный вид, которым текущая ABI представляет enum.FFI\CType::getFuncABIПолучить код calling convention типа C-функции.FFI\CType::getFuncParameterCountПолучить число параметров типа C-функции.FFI\CType::getFuncParameterTypeПолучить CType параметра C-функции по нулевому индексу.FFI\CType::getFuncReturnTypeПолучить CType возвращаемого значения типа C-функции.FFI\CType::getKindПолучить код семейства CType: scalar, pointer, array, function или struct/union.FFI\CType::getNameПолучить каноническое имя описанного C-типа.FFI\CType::getPointerTypeПерейти от CType указателя к типу, на который он указывает.FFI\CType::getSizeПолучить размер CType в байтах без создания CData.FFI\CType::getStructFieldNamesПолучить имена полей struct/union в порядке объявления.FFI\CType::getStructFieldOffsetПолучить байтовое смещение названного поля struct/union с учётом padding.FFI\CType::getStructFieldTypeПолучить CType названного поля struct/union.Fiber: пауза, продолжение, состояния и все методы
Fiber::__constructСоздать приостанавливаемую задачу из callable, не выполняя её сразу.Fiber::getCurrentПолучить объект Fiber, в котором сейчас выполняется код, либо null снаружи.Fiber::getReturnПрочитать окончательный return callback после нормального завершения.Fiber::isRunningУзнать, выполняется ли вызов входа в Fiber, который ещё не вернулся.Fiber::isStartedУзнать, был ли Fiber уже запущен, в том числе если он теперь завершён.Fiber::isSuspendedПроверить, ждёт ли задача в точке suspend и может ли принять ответ.Fiber::isTerminatedУзнать, закончилось ли выполнение, успешно или с исключением.Fiber::resumeПродолжить только приостановленный Fiber и передать ему ответ.Fiber::startПервый и единственный запуск Fiber с аргументами его callback.Fiber::throwВозобновить ожидание исключением вместо успешного ответа.Fileinfo: типы файлов, кодировки и все функции
finfoОбъединить базу правил и настройки определения типа в многократно используемом объекте.finfo::__constructПодготовить определитель типов с выбранными настройками и базой сигнатур.finfo::bufferОпределить тип данных, которые уже находятся в строке PHP.finfo::set_flagsПостоянно изменить формат определения для следующих вызовов этого объекта.finfo_bufferОпределить тип данных, которые уже находятся в строке PHP.finfo_closeРаспознать устаревшее закрытие ресурса в старом проекте и убрать ненужный вызов.finfo_fileОпределить тип файла по его содержимому, а не по суффиксу имени.finfo_openПодготовить определитель типов с выбранными настройками и базой сигнатур.finfo_set_flagsПостоянно изменить формат определения для следующих вызовов этого объекта.mime_content_typeУзнать MIME-тип локального файла или доступного читаемого потока одним вызовом.Файлы, пути, CSV и потоковая обработка
fgetcsvПрочитать одну CSV-запись как список полей; запись может занимать несколько физических строк.fgetsЧитать строку вместе с её переводом строки, либо ограниченную часть строки.file_get_contentsПолучить байты небольшого файла одной строкой.file_put_contentsЗаписать данные одним вызовом; без FILE_APPEND прежнее содержимое заменяется.flockСогласовать доступ процессов к целому файлу: читатели вместе либо один писатель.fopenОткрыть файл — получить поток с собственной позицией; содержимое ещё не прочитано.fputcsvСериализовать список строк в одну CSV-запись и сразу записать её в поток.realpathПолучить канонический абсолютный путь уже существующего объекта.Файловая система: полный справочник операций
basenameПоказать короткое имя отчёта вместо полного пути.chgrpИзменить группу локального файла.chmodИзменить режим доступа POSIX-файла; числовая маска отличается от текста команды shell.chownИзменить владельца локального файла.clearstatcacheПеречитать метаданные после изменения файла вместо использования старого stat-кэша.copyСкопировать файл, сохранив источник.deleteОфициальный пункт delete — указатель на разные операции, а не API.dirnameПолучить родительский путь для размещения соседнего файла.disk_free_spaceУзнать доступное место файловой системы, содержащей каталог.disk_total_spaceУзнать общий объём файловой системы, содержащей каталог.diskfreespaceАльтернативное имя disk_free_space: узнать доступное место.fcloseЗакрыть поток после последней операции и освободить файловый дескриптор.fdatasyncСинхронизировать данные файла без общего требования синхронизировать все метаданные.feofУзнать состояние конца потока после чтения; это не прогноз успешности следующего чтения.fflushПередать накопленный буфер потока нижележащей системе.fgetcПолучить один байт; строка "0" — полноценные данные.fgetssУдалённая функция чтения со снятием тегов; изучается для сопровождения старого кода, не для вызова в PHP8.fileПолучить весь небольшой файл как массив строк.file_existsПроверить наличие файла или каталога.fileatimeИсследовать время доступа к файлу.filectimeРазличать изменение inode и изменение содержимого.filegroupПолучить числовой ID группы для диагностики доступа.fileinodeПолучить файловый идентификатор и понять, что два жёстких имени могут вести к одному файлу.filemtimeПоказать время последнего изменения содержимого отчёта.fileownerПолучить числовой ID владельца для диагностики доступа.filepermsИсследовать биты типа и прав доступа, не смешивая их с итоговой проверкой доступа процесса.filesizeПроверить размер небольшого файла до обработки или показать число байтов.filetypeУзнать вид записи файловой системы, не MIME содержимого.fnmatchПроверить пользовательскую маску имени без чтения каталога.fpassthruОтправить оставшиеся байты потока в вывод, а не вернуть их строкой.fputsПсевдоним fwrite с теми же параметрами и правилами. Записать байты в открытый поток и узнать, сколько удалось записать.fscanfПрочитать физическую строку и извлечь значения по известному текстовому формату.fseekПереставить позицию в байтах: от начала, текущего места или конца.fstatПолучить набор метаданных открытого файла.fsyncПопросить ОС синхронизировать данные файла и метаданные с хранилищем.ftellПолучить текущий байтовый адрес чтения или записи.ftruncateИзменить длину открытого файла, не перемещая текущую позицию.globНайти локальные отчёты по маске, например только CSV в известной папке.is_dirОтличить каталог от обычного файла.is_executableПредварительно узнать, считает ли ОС файл исполняемым.is_fileОтобрать только обычные файлы по конечной цели.is_linkПроверить, является ли сама запись символической ссылкой.is_readableПредварительно проверить возможность чтения существующего пути.is_writableПроверить запись в существующий файл либо каталог назначения.is_writeableРаспознать альтернативное имя is_writable в старом проекте.lchgrpИзменить группу самой символической ссылки, не её цели.lchownИзменить владельца самой символической ссылки, не её цели.linkСоздать второе имя того же локального файла — жёсткую ссылку.linkinfoПолучить поле устройства st_dev через lstat; это не текст цели и не надёжный bool-тест symlink.lstatПолучить набор метаданных самой ссылки или обычного файла.mkdirСоздать каталог, при необходимости вместе с отсутствующими родителями.parse_ini_fileРазобрать файл конфигурации INI в ассоциативный массив.parse_ini_stringРазобрать строку конфигурации INI в ассоциативный массив.pathinfoРазобрать текст пути на каталог, имя и расширение.pcloseЗакрыть pipe из popen и дождаться завершения дочерней программы.popenЗапустить команду и открыть одно направление общения: читать stdout либо писать stdin.readfileОтдать весь файл в вывод; переменная получит число байтов, не текст.readlinkПрочитать цель символической ссылки, а не содержимое целевого файла.realpath_cache_getИсследовать, какие пути процесс уже разрешил и сохранил в кэше.realpath_cache_sizeУзнать текущий расход памяти кэша путей, а не число файлов.renameПереместить или переименовать файл/каталог.rewindВернуться к началу потока; содержимое при этом не очищается.rmdirУдалить пустой каталог; функция не обходит и не стирает всё дерево.set_file_bufferПсевдоним stream_set_write_buffer: попросить поток изменить размер буфера записи.statПолучить набор метаданных файла; символическая ссылка ведёт к цели.symlinkСоздать запись, содержащую путь к целевому файлу или каталогу.tempnamСоздать пустой временный файл с уникальным именем и получить полный путь к уже созданному файлу.tmpfileПолучить автоматически удаляемый временный файл как открытый поток w+b.touchПоставить время изменения/доступа; отсутствующий файл будет создан пустым.umaskУзнать или временно изменить маску прав, убираемых при создании новых файлов.unlinkУдалить имя файла; удаление каталога выполняется другой функцией.Фильтрация данных: полный справочник Filter
Filter\FilterExceptionОбщий тип исключений расширения Filter, который можно перехватить на границе импортёра.Filter\FilterFailedExceptionОтказ валидатора становится исключением только при явно выбранном THROW_ON_FAILURE.filter_has_varПроверить, было ли имя поля в исходном запросе, независимо от его содержимого.filter_idНайти ID фильтра по его имени в конфигурации; неизвестное имя обнаружить до обработки данных.filter_listУвидеть доступные имена фильтров в текущей сборке PHP.filter_var_arrayПроверить несколько полей уже загруженного массива: например декодированный JSON заказа.Формы: безопасный приём, ошибки полей и повторная отправка
FTP: выгрузки, файлы поставщика и полный справочник
FTP\ConnectionОтличать PHP объект соединения от адреса сервера и обычного класса приложения.ftp_allocСогласовать предварительное место с сервером, который явно этого требует.ftp_appendДополнить конец удалённого файла, сохранив прежнее содержимое.ftp_cdupПодняться ровно на один уровень удалённого дерева каталогов.ftp_chdirСменить рабочую папку удалённого сеанса перед группой операций.ftp_chmodИзменить серверные Unix-права файла там, где FTP сервер это поддерживает.ftp_closeОсвободить соединение и завершить FTP сеанс.ftp_connectПолучить соединение с файловым сервером, прежде чем войти и запросить выгрузку.ftp_deleteУдалить конкретный удалённый файл по явному решению приложения.ftp_execРазличать редкое серверное расширение SITE EXEC и запуск программы на своей PHP машине.ftp_fgetЗаписать скачиваемые байты в уже открытый локальный stream.ftp_fputПередать данные из уже открытого источника, не требуя имени постоянного файла.ftp_getПолучить удалённый файл и сохранить его по локальному пути.ftp_get_optionПрочитать настройки именно этого FTP соединения.ftp_loginАвторизовать конкретную учётную запись и только затем перейти к файлам.ftp_mdtmПолучить время изменения файла для отображения и предварительного сравнения версии.ftp_mkdirСоздать именованное место для новой партии файлов.ftp_mlsdПолучить структурированные метаданные без разбора произвольного вывода LIST.ftp_nb_continueПродвинуть уже запущенную передачу в этом соединении.ftp_nb_fgetСкачать файл порциями, сохранив управление между продолжениями.ftp_nb_fputЗагрузить файл порциями, сохранив управление между продолжениями.ftp_nb_getСкачать файл порциями, сохранив управление между продолжениями.ftp_nb_putЗагрузить файл порциями, сохранив управление между продолжениями.ftp_nlistПолучить простой список удалённых имён для следующего шага обработки.ftp_pasvНастроить направление создания соединения для передачи файлов и списков.ftp_putПередать локальный файл в удалённый каталог поставщика/получателя.ftp_pwdУзнать базу относительных удалённых путей.ftp_quitОсвободить соединение и завершить FTP сеанс.ftp_rawПолучить необработанные строки ответа на известную FTP команду.ftp_rawlistПолучить подробные строки LIST без обещания единого формата полей.ftp_renameСменить имя или путь файла/каталога после изменения стадии обработки.ftp_rmdirУдалить известный пустой каталог после окончания своей работы.ftp_set_optionИзменить timeout, позиционирование или адрес passive без переоткрытия соединения.ftp_siteОбратиться к специальной команде конкретного FTP сервера по документированному договору.ftp_sizeПолучить предварительный размер и отличить пустой файл от ошибки.ftp_ssl_connectПонять возможности и ограничение встроенного клиента explicit FTPS.ftp_systypeПрочитать серверный системный идентификатор для диагностики совместимости.GD: создаём картинки, превью и водяные знаки — практика и полный справочник
gd_infoПеред генерацией превью узнать, какие кодеки и шрифтовые возможности действительно собраны на сервере.getimagesizeУзнать размеры и тип до полного декодирования: выбрать лимит и зарезервировать место на странице.getimagesizefromstringУзнать размеры и тип до полного декодирования: выбрать лимит и зарезервировать место на странице.image2wbmpУзнать удалённую функцию в старом проекте и перейти к явному чтению, масштабу и WBMP-кодированию.image_type_to_extensionПолучить расширение имени для уже определённого формата.image_type_to_mime_typeПолучить MIME для HTTP-ответа по известному типу.imageaffineПолучить растровый результат общей матрицы, например наклонённую этикетку для макета.imageaffinematrixconcatОбъединить несколько преобразований перед однократным пересчётом картинки.imageaffinematrixgetПостроить преобразование наклейки: перенос, масштаб, поворот или сдвиг формы.imagealphablendingУправлять тем, как прозрачная наклейка смешивается с фоном.imageantialiasСгладить ступеньки тонкой диагональной линии на непрозрачной схеме.imagearcНарисовать часть круглой шкалы без заполнения сектора.imageavifЗакодировать готовый холст в AVIF для файла или HTTP-ответа.imagebmpЗакодировать готовый холст в BMP для файла или HTTP-ответа.imagecharНарисовать один bitmapсимвол горизонтально, например код позиции на схеме.imagecharupНарисовать один bitmapсимвол вертикально снизу вверх, например подпись оси.imagecolorallocateПодготовить цвет перед рисованием фона, линии или текста.imagecolorallocatealphaПодготовить полупрозрачный цвет для значка или водяного знака.imagecoloratПрочитать один пиксель: выбор цвета пипеткой, проверка рамки, анализ маленькой схемы.imagecolorclosestПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolorclosestalphaПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolorclosesthwbПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolordeallocateОсвободить больше не используемую запись палитры при построении ограниченного набора цветов.imagecolorexactПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolorexactalphaПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolormatchПодстроить цвета квантованной палитровой версии ближе к исходному полноцветному изображению.imagecolorresolveПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolorresolvealphaПодобрать цвет для ограниченной палитры, например значка GIF или схемы с фиксированными цветами.imagecolorsetПерекрасить сразу все пиксели одного индекса палитры, например статус на схеме.imagecolorsforindexПосмотреть компоненты пикселя, чтобы проверить фон, прозрачность или результат фильтра.imagecolorstotalУзнать, сколько записей занято в палитре, перед добавлением новых цветов.imagecolortransparentНазначить один цвет прозрачным, например фон простого GIF-значка.imageconvolutionПрименить небольшое ядро резкости, размытия или выделения границ.imagecopyВставить логотип или фрагмент изображения в другой холст без изменения масштаба.imagecopymergeСмешать непрозрачную плашку с фоном с заданной общей интенсивностью.imagecopymergegrayНаложить источник, обесцветив фон под ним: эффект акцента на цветном объекте.imagecopyresampledПодготовить качественную миниатюру фотографии с пересчётом цветов соседних пикселей.imagecopyresizedБыстро изменить размер пиксельной схемы без качественного пересчёта соседей.imagecreateСоздать небольшую палитровую схему: пиксели хранят номера цветов, до 256 записей.imagecreatefromavifОткрыть AVIF как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefrombmpОткрыть BMP как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromgdРазобрать старый GD-кеш и выбрать переносимый путь миграции.imagecreatefromgd2Разобрать старый GD-кеш и выбрать переносимый путь миграции.imagecreatefromgd2partРазобрать старый GD-кеш и выбрать переносимый путь миграции.imagecreatefromgifОткрыть GIF как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromjpegОткрыть JPEG как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefrompngОткрыть PNG как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromstringОткрыть байты изображения, полученные из БД, API или локального файла без промежуточного сохранения.imagecreatefromtgaПрочитать растровую TGA-текстуру из графического конвейера.imagecreatefromwbmpОткрыть WBMP как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromwebpОткрыть WebP как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromxbmОткрыть XBM как редактируемые пиксели: затем можно вырезать, уменьшить или подписать.imagecreatefromxpmОткрыть текстовый XPM-значок из старого набора графики.imagecreatetruecolorСоздать полноцветный холст для фотографии, превью или наложения логотипа.imagecropВырезать прямоугольник для аватара или убрать известные поля скана.imagecropautoАвтоматически убрать однотонные поля вокруг небольшого рисунка.imagedashedlineПрочитать старый код пунктирной линии и заменить его явным стилем.imagedestroyПонять старые примеры освобождения ресурсов и корректно обновить их для PHP 8.imageellipseОбвести круглый маркер или овал на схеме.imagefillЗалить связную область одного цвета от выбранной точки, как инструмент «ведро» в редакторе.imagefilledarcНарисовать сектор диаграммы или часть заполненного круга.imagefilledellipseНарисовать заполненный статус или круглую точку.imagefilledpolygonЗаполнить зону на карте или треугольный указатель.imagefilledrectangleНарисовать плашку под подпись или заполнить фон.imagefilltoborderЗаполнить область до границы определённого цвета, даже если внутри встречаются разные цвета.imagefilterПрименить готовый эффект к превью, например обесцветить недоступный товар.imageflipЗеркально отразить скан, карточку или исправить зеркальную EXIF-ориентацию.imagefontheightУзнать высоту одной ячейки bitmapшрифта перед размещением подписи.imagefontwidthУзнать ширину одной ячейки bitmapшрифта перед размещением подписи.imageftbboxИзмерить будущую надпись до рисования, чтобы она не обрезалась и помещалась в плашку.imagefttextПодписать изображение масштабируемым шрифтом: название товара, дата отчёта или водяной знак.imagegammacorrectИсправить известное различие гаммы источника и назначения, а не произвольно поднять яркость.imagegdРазобрать старый GD-кеш и выбрать переносимый путь миграции.imagegd2Разобрать старый GD-кеш и выбрать переносимый путь миграции.imagegetclipОграничить рисование областью графика и не закрасить подписи вокруг него.imagegetinterpolationВыбрать и проверить алгоритм пересчёта пикселей для rotate/affine и совместимых операций.imagegifЗакодировать готовый холст в GIF для файла или HTTP-ответа.imagegrabscreenПолучить экран Windows в локальном инструменте, когда пользователь явно запросил снимок.imagegrabwindowПолучить окно Windows в локальном инструменте, когда пользователь явно запросил снимок.imageinterlaceСохранить прогрессивный JPEG, который во время загрузки сначала показывает грубое изображение, затем детали.imageistruecolorВыбрать подходящий путь: сохранить полноцветную фотографию или осознанно работать с палитрой.imagejpegЗакодировать готовый холст в JPEG для файла или HTTP-ответа.imagelayereffectВыбрать, как следующий цвет сочетается с существующим: обычная прозрачность, замена, overlay или multiply.imagelineНарисовать ось графика или соединение блоков.imageloadfontЗагрузить собственный небольшой bitmapшрифт для старой фиксированной пиксельной схемы.imageopenpolygonНарисовать ломаную, например путь, который не надо замыкать к началу.imagepalettecopyСогласовать палитры двух схем перед операциями, в которых важны те же индексы цветов.imagepalettetotruecolorПерейти от палитры к полноценному alpha и дальнейшему редактированию.imagepngЗакодировать готовый холст в PNG для файла или HTTP-ответа.imagepolygonЗамкнуть контур многоугольника, например зону на плане.imagerectangleОбвести область товара рамкой, сохранив изображение внутри.imageresolutionЗаписать DPI для печатного макета, не путая его с количеством пикселей.imagerotateПовернуть изображение после чтения ориентации камеры или наклонить штамп.imagesavealphaУправлять сохранением прозрачного фона после записи файла.imagescaleСоздать уменьшенную версию картинки одной операцией, сохранив оригинал.imagesetbrushИспользовать изображение как кисть для линий при построении схемы.imagesetclipОграничить рисование областью графика и не закрасить подписи вокруг него.imagesetinterpolationВыбрать и проверить алгоритм пересчёта пикселей для rotate/affine и совместимых операций.imagesetpixelПоставить один пиксель: индикатор на схеме, маска или учебная пипетка.imagesetstyleЗадать пунктир, чередование цветов или пропуски для линии графика.imagesetthicknessСделать линию графика заметнее, задав толщину до рисования.imagesettileИспользовать изображение как повторяющаяся плитка для заливки при построении схемы.imagestringНарисовать короткую bitmapстроку горизонтально, например код позиции на схеме.imagestringupНарисовать короткую bitmapстроку вертикально снизу вверх, например подпись оси.imagesxУзнать ширину уже загруженного изображения: расчёт рамки, пропорций или ограничения превью.imagesyУзнать высоту уже загруженного изображения: расчёт рамки, пропорций или ограничения превью.imagetruecolortopaletteПерейти к ограниченной палитре для маленькой схемы или GIF, осознанно потеряв часть цветов.imagettfbboxИзмерить будущую надпись до рисования, чтобы она не обрезалась и помещалась в плашку.imagettftextПодписать изображение масштабируемым шрифтом: название товара, дата отчёта или водяной знак.imagetypesПроверить формат через битовую маску, например разрешить WebP только при наличии его поддержки.imagewbmpЗакодировать готовый холст в WBMP для файла или HTTP-ответа.imagewebpЗакодировать готовый холст в WebP для файла или HTTP-ответа.imagexbmЗакодировать готовый холст в XBM для файла или HTTP-ответа.iptcembedДобавитьIPTCподпись кJPEGархива, не изменяя сами пиксели.iptcparseПолучить подпись или ключевые слова из IPTCблока фотографического архива.jpeg2wbmpУзнать удалённую функцию в старом проекте и перейти к явному чтению, масштабу и WBMP-кодированию.png2wbmpУзнать удалённую функцию в старом проекте и перейти к явному чтению, масштабу и WBMP-кодированию.Generator: выдача по одному элементу и полный справочник методов
Generator::__wakeupИсторическая страница о запрете восстановления Generator; современный PHP не предоставляет этот метод.Generator::currentПрочитать текущее выданное значение, не переходя к следующему.Generator::getReturnПолучить окончательный итог после выдачи всех элементов.Generator::keyПолучить ключ текущего элемента: например артикул, к которому относится цена.Generator::nextПродолжить выполнение после текущего yield до следующего yield или конца.Generator::rewindПодготовить генератор к первому элементу; это не перемотка уже пройденной истории.Generator::sendПередать значение в текущую точку yield и продолжить генератор.Generator::throwСообщить об ошибке в месте, где генератор ждёт ответ.Generator::validПроверить, есть ли текущий элемент, независимо от его значения.Gettext: переводы сайта, каталоги и множественные формы
_Короткое имя gettext для перевода надписей.bind_textdomain_codesetЗадать кодировку возвращаемых переводов для домена.bindtextdomainСвязать домен с директорией переводов или узнать путь.dcgettextПеревести одно сообщение с явными доменом и категорией locale.dcngettextВыбрать форму сообщения, явно задав домен и категорию.dgettextПеревести сообщение из явно указанного домена.dngettextВыбрать множественную форму в заданном домене.gettextНайти перевод одного сообщения в текущем домене.ngettextВыбрать языковую форму сообщения по количеству.textdomainЗадать или узнать текущий набор переводов.GMP: большие целые, арифметика, биты и теория чисел
GMP::__constructСоздать объект большого целого через new вместо gmp_init.GMP::__serializeПредоставить внутренние данные объекта механизму serialize.GMP::__unserializeВосстановить состояние GMP из массива, подготовленного __serialize.gmp_absПолучить величину изменения независимо от его направления.gmp_addСложить два целых без потери точности.gmp_andОставить биты, установленные в обеих масках.gmp_binomialСосчитать выбор k элементов из n без учёта порядка.gmp_clrbitОчистить конкретный бит, сохранив остальные позиции маски.gmp_cmpСравнить два больших целых по значению.gmp_comИнвертировать все биты целого числа.gmp_divИспользовать старое краткое имя gmp_div_q с тем же договором.gmp_div_qПолучить целую часть деления с явно выбранным направлением округления.gmp_div_qrОдним вызовом получить число полных групп и остаток.gmp_div_rПолучить остаток, согласованный с выбранным округлением частного.gmp_divexactВыполнить точное деление, когда делимость уже гарантирована.gmp_exportЗаписать большое целое в байты с заданным порядком слов и байтов.gmp_factСосчитать число перестановок n различных элементов: n факториал.gmp_gcdНайти наибольший общий делитель двух целых.gmp_gcdextНайти общий делитель и коэффициенты, выражающие его через исходные числа.gmp_hamdistПосчитать, сколько битов различаются у двух неотрицательных чисел.gmp_importПревратить байты двоичного протокола в большое неотрицательное целое.gmp_initСохранить большое целое без округления и явно выбрать систему счисления.gmp_intvalПреобразовать GMP в обычный PHP int, только когда значение заведомо помещается.gmp_invertНайти обратный множитель в арифметике по модулю.gmp_jacobiВычислить символ Якоби для положительного нечётного знаменателя.gmp_kroneckerВычислить обобщение символа Якоби для любого целого знаменателя.gmp_lcmНайти наименьшее общее кратное двух целых.gmp_legendreПроверить существование ненулевого квадратного остатка по простому нечётному модулю.gmp_modПолучить неотрицательный остаток для циклической нумерации или модульной арифметики.gmp_mulУмножить два целых и сохранить все цифры.gmp_negИзменить знак целого: поступление превратить в обратное изменение.gmp_nextprimeНайти следующее простое число, строго больше заданного.gmp_orУстановить биты, присутствующие хотя бы в одной маске.gmp_perfect_powerПроверить, представимо ли число как целая степень с показателем больше единицы.gmp_perfect_squareПроверить, является ли целое квадратом целого числа.gmp_popcountПосчитать единичные биты неотрицательной маски.gmp_powВозвести целое в целую неотрицательную степень без потери цифр.gmp_powmСразу вычислить остаток от степени, не материализуя саму огромную степень.gmp_prob_primeПроверить, является ли число составным, вероятно простым или доказанно простым для данного теста.gmp_randomИсторический генератор GMP: как читать старый код и переносить его на современный API.gmp_random_bitsПолучить псевдослучайное неотрицательное целое в заданном битовом диапазоне.gmp_random_rangeВыбрать псевдослучайное целое из замкнутого диапазона.gmp_random_seedЗадать начальное состояние псевдослучайной последовательности GMP.gmp_rootВычислить целую часть корня заданной степени.gmp_rootremПолучить целый корень n-й степени вместе с невместившимся остатком.gmp_scan0Найти первый бит 0 начиная с указанной позиции.gmp_scan1Найти первый бит 1 начиная с указанной позиции.gmp_setbitИзменить один бит в уже созданном объекте GMP.gmp_signУзнать только направление значения: отрицательное, нулевое или положительное.gmp_sqrtПолучить целую часть квадратного корня точно, без float.gmp_sqrtremПолучить квадратный корень и остаток одной операцией.gmp_strvalПолучить точную текстовую запись для вывода, JSON или хранения.gmp_subВычесть второе целое из первого.gmp_testbitПроверить состояние конкретной позиции маски.gmp_xorНайти биты, различающиеся в двух масках.Hash: отпечатки файлов, HMAC и производные ключи
hashПолучить воспроизводимый отпечаток уже имеющейся строки.hash_algosУзнать алгоритмы, реально зарегистрированные в текущем PHP.hash_copyОтветвить независимое вычисление после общего префикса.hash_fileПрочитать локальный файл потоково и вычислить отпечаток содержимого.hash_finalПолучить окончательный отпечаток и завершить конкретный контекст.hash_hkdfПолучить отдельный ключ для конкретной роли из исходного ключевого материала.hash_hmac_algosПолучить список алгоритмов, для которых PHP реализует HMAC.hash_hmac_fileВычислить MAC содержимого файла с известным обеим сторонам ключом.hash_initСоздать состояние вычисления, в которое данные будут поступать частями.hash_pbkdf2Воспроизвести согласованное PBKDF2-выведение ключа из пароля.hash_updateДобавить очередную строку байтов к активному вычислению.hash_update_fileДобавить весь файл к уже накопленному префиксу вычисления.hash_update_streamДобавить байты из уже открытого потока, начиная с его текущей позиции.HashContext::__constructПонять, почему контекст создают hash_init, а не через new.HashContext::__debugInfoУвидеть алгоритм контекста в диагностическом выводе.HashContext::__serializeСохранить поддерживаемое активное состояние обычного хеширования.HashContext::__unserializeВосстановить собственный доверенный снимок HashContext для продолжения вычисления.HRTime: секундомер, тики и измерение этапов
HRTime\PerformanceCounterДля измерения одного участка достаточно двух показаний счётчика. Этот класс даёт исходные ticks и частоту, чтобы перевести разницу в секунды.HRTime\PerformanceCounter::getFrequencyПеревести аппаратные тики в понятные секунды можно, только зная число тиков в секунде.HRTime\PerformanceCounter::getTicksСнять начальную отметку перед построением отчёта и конечную после него. Измерение задают границы участка кода.HRTime\PerformanceCounter::getTicksSinceКогда начальная отметка уже сохранена, метод сам снимает текущее показание и отдаёт разность.HRTime\StopWatchИмпорт разбит на два обрабатываемых блока; паузу между ними учитывать не нужно. Объект суммирует завершённые участки start→stop.HRTime\StopWatch::getElapsedTicksПрочитать общую длительность выбранных этапов в исходных тиках счётчика.HRTime\StopWatch::getElapsedTimeПрочитать общую длительность выбранных этапов в понятной единице времени.HRTime\StopWatch::getLastElapsedTicksПрочитать длительность последнего этапа в исходных тиках счётчика.HRTime\StopWatch::getLastElapsedTimeПрочитать длительность последнего этапа в понятной единице времени.HRTime\StopWatch::isRunningПеред остановкой таймера узнать, начат ли у этого экземпляра незакрытый интервал.HRTime\StopWatch::startНачать измерение участка; при повторном использовании продолжить накопление.HRTime\StopWatch::stopЗакончить текущий участок, чтобы его длительность вошла в итог.HRTime\UnitЕдиница отвечает на вопрос, что означает число в отчёте: секунды, миллисекунды, микросекунды или наносекунды.Как PHP обслуживает запрос: от браузера до ответа
headerЗадать метаданные HTTP-ответа: тип содержимого, перенаправление, загрузку файла или правило кэширования.headers_sentПроверить, можно ли ещё менять HTTP-заголовки, и найти место, где начался вывод.http_response_codeУстановить или прочитать статус HTTP-ответа отдельно от его текста.setcookieСохранить небольшую настройку браузера и получить её в следующем запросе, понимая границу доверия к клиенту.Iconv: кодировки, символы и MIME-заголовки
iconvПеревести текст между двумя известными кодировками и явно обработать невозможность перевода.iconv_get_encodingДиагностировать эффективные кодировки текущего процесса, не принимая настройки за анализ данных.iconv_mime_decodeВосстановить читаемый текст одного MIME-поля с явным выбором строгого или резервного разбора.iconv_mime_decode_headersРазобрать блок MIME-заголовков в массив, сохранив повторения и явно обработав неоднозначность.iconv_mime_encodeПодготовить MIME-поле с не-ASCII текстом и корректными переносами, не выдавая его за готовое письмо.iconv_set_encodingПонять и заменить legacy-изменение общей кодировки, не принимая успешную запись за проверку конвертера.iconv_strlenИзмерить текст в символах выбранной кодировки, отделив их от байтов и графем.iconv_strposНайти первое совпадение и получить позицию в символах, включая корректный результат 0.iconv_strrposНайти последнее вхождение строки и безопасно отделить суффикс по символьной позиции.iconv_substrИзвлечь фрагмент без разрезания многобайтного символа и правильно понять отрицательные границы.ob_iconv_handlerПреобразовать вывод на границе legacy-ответа и не спутать внутренний обработчик с обычной функцией.Наследование: подстановка, переопределение и цена связности
Интерфейсы коллекций: foreach, скобки, count и строковое представление
ArrayAccess::offsetExistsРешить, считается ли ключ установленным для isset и empty.ArrayAccess::offsetGetПолучить значение по ключу или сообщить о недопустимом чтении.ArrayAccess::offsetSetЗаписать целое значение по ключу или обработать добавление без ключа.ArrayAccess::offsetUnsetУдалить запись через unset($object[$key]).Countable::countВернуть выбранное коллекцией количество.InternalIterator::__constructЗакрытый конструктор запрещает создавать встроенный курсор напрямую.InternalIterator::currentПрочитать текущий элемент встроенного источника.InternalIterator::keyПолучить ключ текущего элемента встроенного источника.InternalIterator::nextПередвинуть встроенный курсор к следующей записи.InternalIterator::rewindВернуть встроенный курсор в начало.InternalIterator::validПроверить существование текущей позиции встроенного курсора.Iterator::currentПрочитать значение у текущей закладки, не передвигая её.Iterator::keyПрочитать идентификатор текущего элемента.Iterator::nextПередвинуть закладку на следующую запись.Iterator::rewindУстановить начало обхода.Iterator::validПроверить, есть ли элемент в текущей позиции.Serializable::serializeИсторический метод возвращает собственную строку состояния или null.Serializable::unserializeВосстановить объект из содержимого исторической C-записи.Stringable::__toStringВернуть удобное строковое представление объекта.Intl: полный справочник языков, Unicode, чисел, дат и календарей
Collator::__constructПодготовить сортировку имён/названий, которую ожидает читатель выбранного языка.Collator::asortУпорядочить список для интерфейса и сохранить ID каждого элемента.Collator::compareСравнить два названия по языковым правилам, не меняя сами строки.Collator::createСоздать объект через фабрику и обработать отсутствие результата до сортировки.Collator::getAttributeУточнить конкретное правило сортировки, например числа внутри названия или учёт пунктуации.Collator::getErrorCodeПолучить диагностику последней операции конкретного Collator и не потерять причину отказа.Collator::getErrorMessageПолучить диагностику последней операции конкретного Collator и не потерять причину отказа.Collator::getLocaleУзнать, какие данные локали ICU реально использовал после fallback.Collator::getSortKeyЗаранее получить двоичный ключ для многократного сравнения тех же названий.Collator::getStrengthУправлять тем, какие различия строк важны: базовые буквы, акценты, регистр или полное различие.Collator::setAttributeУточнить конкретное правило сортировки, например числа внутри названия или учёт пунктуации.Collator::setStrengthУправлять тем, какие различия строк важны: базовые буквы, акценты, регистр или полное различие.Collator::sortУпорядочить список для интерфейса по языковому порядку.Collator::sortWithSortKeysУпорядочить список для интерфейса по языковому порядку.collator_asortУпорядочить список для интерфейса и сохранить ID каждого элемента.collator_compareСравнить два названия по языковым правилам, не меняя сами строки.collator_createСоздать объект через фабрику и обработать отсутствие результата до сортировки.collator_get_attributeУточнить конкретное правило сортировки, например числа внутри названия или учёт пунктуации.collator_get_error_codeПолучить диагностику последней операции конкретного Collator и не потерять причину отказа.collator_get_error_messageПолучить диагностику последней операции конкретного Collator и не потерять причину отказа.collator_get_localeУзнать, какие данные локали ICU реально использовал после fallback.collator_get_sort_keyЗаранее получить двоичный ключ для многократного сравнения тех же названий.collator_get_strengthУправлять тем, какие различия строк важны: базовые буквы, акценты, регистр или полное различие.collator_set_attributeУточнить конкретное правило сортировки, например числа внутри названия или учёт пунктуации.collator_set_strengthУправлять тем, какие различия строк важны: базовые буквы, акценты, регистр или полное различие.collator_sortУпорядочить список для интерфейса по языковому порядку.collator_sort_with_sort_keysУпорядочить список для интерфейса по языковому порядку.datefmt_createПоказать дату заказа по языку посетителя и в нужном часовом поясе.datefmt_formatПреобразовать момент или календарные поля в строку для человека.datefmt_format_objectОдин раз отобразить объект даты в его собственном часовом поясе.datefmt_get_calendarУзнать выбранный общий режим календаря форматтера.datefmt_get_calendar_objectПолучить копию внутреннего календаря, чтобы узнать его тип и пояс.datefmt_get_datetypeПрочитать выбранный стиль даты при диагностике форматтера.datefmt_get_error_codeПрочитать причину отказа разбора/форматирования у текущего объекта.datefmt_get_error_messageПрочитать причину отказа разбора/форматирования у текущего объекта.datefmt_get_localeПроверить, какая ICU-локаль реально предоставляет правила форматирования.datefmt_get_patternВыбрать или проверить состав полей даты в отчёте.datefmt_get_timetypeПрочитать выбранный стиль времени при диагностике форматтера.datefmt_get_timezoneУзнать пояс, в котором форматтер показывает переданные моменты.datefmt_get_timezone_idУзнать пояс, в котором форматтер показывает переданные моменты.datefmt_is_lenientНастроить строгость разбора даты, чтобы ввод не исправлялся незаметно для пользователя.datefmt_localtimeРазобрать дату в отдельные календарные поля, когда нужны год, месяц и часы, а не timestamp.datefmt_parseПревратить дату из согласованного текстового формата в момент времени.datefmt_set_calendarПереключить календарную систему или передать заранее настроенный календарь.datefmt_set_lenientНастроить строгость разбора даты, чтобы ввод не исправлялся незаметно для пользователя.datefmt_set_patternВыбрать или проверить состав полей даты в отчёте.datefmt_set_timezoneПоказать тот же момент в часовом поясе получателя отчёта.grapheme_extractПорционно читать UTF-8 буфер целыми графемами, одновременно получая байтовую позицию следующего чтения.grapheme_levenshteinПредложить похожее название при опечатке, считая изменения видимых символов, а не байтов.grapheme_str_splitРазбить текст на графемы или группы графем для редактора, подсказки или безопасной посимвольной обработки.grapheme_striposНайти первое совпадение в тексте без учёта регистра и получить позицию для дальнейшей работы с графемами.grapheme_stristrВзять часть текста от найденного слова либо всё перед ним, игнорируя регистр.grapheme_strlenОграничить подпись по видимым символам, не считая акцент или части emoji отдельными буквами.grapheme_strposНайти первое совпадение в тексте с учётом регистра и получить позицию для дальнейшей работы с графемами.grapheme_strriposНайти последнее совпадение в тексте без учёта регистра и получить позицию для дальнейшей работы с графемами.grapheme_strrposНайти последнее совпадение в тексте с учётом регистра и получить позицию для дальнейшей работы с графемами.grapheme_strstrВзять часть текста от найденного слова либо всё перед ним, учитывая регистр.grapheme_substrСократить подпись или взять фрагмент, сохранив целые графемы.idn_to_asciiПодготовить международное доменное имя для систем, принимающих ASCII-форму.idn_to_utf8Подготовить международное доменное имя для понятного отображения.intl_error_nameПревратить числовой статус ICU в имя для журнала и диагностики.intl_get_error_codeПрочитать глобальный статус последней Intl-операции, особенно когда объект ещё не создан.intl_get_error_messageПолучить объяснение глобальной ошибки для разработчика.intl_is_failureОтличить отказ ICU от успеха с информационным предупреждением.IntlBreakIterator::__constructПонять, почему базовый анализатор создаётся фабрикой, а не new IntlBreakIterator.IntlBreakIterator::createCharacterInstanceНайти границы воспринимаемых символов: буква и комбинируемые знаки остаются вместе.IntlBreakIterator::createCodePointInstanceНайти границы отдельных кодовых точек Unicode.IntlBreakIterator::createLineInstanceНайти возможные места переноса строки, независимо от ширины экрана.IntlBreakIterator::createSentenceInstanceНайти границы предложений для аннотации или последовательного чтения.IntlBreakIterator::createTitleInstanceНайти исторические границы для преобразования начальных букв слов.IntlBreakIterator::createWordInstanceНайти границы слов, чисел, пробелов и пунктуации.IntlBreakIterator::currentПрочитать текущую байтовую позицию, не передвигая анализатор.IntlBreakIterator::firstВернуться на начальную границу перед первым символом.IntlBreakIterator::followingНайти первую границу строго после указанной байтовой позиции.IntlBreakIterator::getErrorCodeПрочитать код последней ошибки данного анализатора.IntlBreakIterator::getErrorMessageПрочитать сообщение последней ошибки данного анализатора.IntlBreakIterator::getIteratorЯвно получить Iterator, который foreach обычно запрашивает сам.IntlBreakIterator::getLocaleУзнать, какие локальные правила фактически выбрал ICU.IntlBreakIterator::getPartsIteratorПолучать готовые фрагменты вместо ручного вычитания соседних границ.IntlBreakIterator::getTextПолучить исходный текст для вырезания найденного фрагмента.IntlBreakIterator::isBoundaryПроверить, можно ли разрезать текст на заданной позиции по выбранным правилам.IntlBreakIterator::lastПерейти к границе после последнего символа.IntlBreakIterator::nextПродвинуться на следующую границу или на заданное число границ.IntlBreakIterator::precedingНайти первую границу строго перед указанной байтовой позицией.IntlBreakIterator::previousПерейти к предыдущей границе.IntlBreakIterator::setTextПередать текст, который нужно разделить, и начать его анализ.intlcal_addИзменить календарное поле с переносом в старшие поля.intlcal_afterСравнить календари по их установленным моментам.intlcal_beforeСравнить календари по их установленным моментам.intlcal_clearСнять установленные поля перед построением новой даты, чтобы не унаследовать случайное время создания.intlcal_create_instanceСоздать календарь с выбранными поясом и языковыми правилами для отчёта или расписания.intlcal_equalsСравнить календари по их установленным моментам.intlcal_field_differenceРазложить интервал на календарные единицы: сначала дни, затем оставшиеся часы.intlcal_from_date_timeПеренести обычный объект PHP-даты в ICU-календарь.intlcal_getПрочитать одну составляющую календарной даты: год, месяц, часы или смещение.intlcal_get_actual_maximumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_actual_minimumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_available_localesПолучить локали, для которых в ICU доступны календарные данные.intlcal_get_day_of_week_typeУзнать, считается ли день рабочим, выходным или содержит границу выходного по данным локали.intlcal_get_error_codeУзнать причину отказа вычисления календарного момента.intlcal_get_error_messageУзнать причину отказа вычисления календарного момента.intlcal_get_first_day_of_weekНастроить, с какого дня начинается неделя в календаре и недельных отчётах.intlcal_get_greatest_minimumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_keyword_values_for_localeУзнать календарные системы, уместные для выбранной локали.intlcal_get_least_maximumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_localeПрочитать локаль, из которой ICU взял календарные правила.intlcal_get_maximumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_minimal_days_in_first_weekОпределить, сколько дней нового года должно попасть в его первую неделю.intlcal_get_minimumПолучить границу поля для календарной формы или алгоритма обхода.intlcal_get_nowПолучить текущее системное время в единицах ICU.intlcal_get_repeated_wall_time_optionОпределить, какой момент соответствует повторённому местному времени.intlcal_get_skipped_wall_time_optionОпределить, какой момент соответствует пропущенному местному времени.intlcal_get_timeПрочитать или установить момент независимо от того, как он выглядит в местном календаре.intlcal_get_time_zoneВыбрать или прочитать пояс календарного представления момента.intlcal_get_typeУзнать конкретную календарную систему объекта.intlcal_get_weekend_transitionПолучить время внутри дня, когда по правилам локали начинаются или заканчиваются выходные.intlcal_in_daylight_timeПроверить, активна ли сезонная поправка именно в момент этого календаря.intlcal_is_equivalent_toСравнить календари по настройкам, исключая установленный момент.intlcal_is_lenientУправлять тем, нормализуются ли выходящие за диапазон календарные поля или вызывают ошибку.intlcal_is_setУзнать, задано ли поле явно/при вычислении, прежде чем решать приоритет календарных полей.intlcal_is_weekendПроверить конкретный момент на попадание в обычный выходной выбранной локали.intlcal_rollИзменить календарное поле по кругу без переноса в старшие поля.intlcal_setУстановить одно поле календаря, сохраняя остальные поля до пересчёта.intlcal_set_first_day_of_weekНастроить, с какого дня начинается неделя в календаре и недельных отчётах.intlcal_set_lenientУправлять тем, нормализуются ли выходящие за диапазон календарные поля или вызывают ошибку.intlcal_set_minimal_days_in_first_weekОпределить, сколько дней нового года должно попасть в его первую неделю.intlcal_set_repeated_wall_time_optionОпределить, какой момент соответствует повторённому местному времени.intlcal_set_skipped_wall_time_optionОпределить, какой момент соответствует пропущенному местному времени.intlcal_set_timeПрочитать или установить момент независимо от того, как он выглядит в местном календаре.intlcal_set_time_zoneВыбрать или прочитать пояс календарного представления момента.intlcal_to_date_timeПолучить обычный DateTime для кода, который работает с PHP Date/Time.IntlCalendar::__constructВыбрать фабрику календаря, прежде чем обращаться к его полям.IntlCalendar::addИзменить календарное поле с переносом в старшие поля.IntlCalendar::afterСравнить календари по их установленным моментам.IntlCalendar::beforeСравнить календари по их установленным моментам.IntlCalendar::clearСнять установленные поля перед построением новой даты, чтобы не унаследовать случайное время создания.IntlCalendar::createInstanceСоздать календарь с выбранными поясом и языковыми правилами для отчёта или расписания.IntlCalendar::equalsСравнить календари по их установленным моментам.IntlCalendar::fieldDifferenceРазложить интервал на календарные единицы: сначала дни, затем оставшиеся часы.IntlCalendar::fromDateTimeПеренести обычный объект PHP-даты в ICU-календарь.IntlCalendar::getПрочитать одну составляющую календарной даты: год, месяц, часы или смещение.IntlCalendar::getActualMaximumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getActualMinimumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getAvailableLocalesПолучить локали, для которых в ICU доступны календарные данные.IntlCalendar::getDayOfWeekTypeУзнать, считается ли день рабочим, выходным или содержит границу выходного по данным локали.IntlCalendar::getErrorCodeУзнать причину отказа вычисления календарного момента.IntlCalendar::getErrorMessageУзнать причину отказа вычисления календарного момента.IntlCalendar::getFirstDayOfWeekНастроить, с какого дня начинается неделя в календаре и недельных отчётах.IntlCalendar::getGreatestMinimumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getKeywordValuesForLocaleУзнать календарные системы, уместные для выбранной локали.IntlCalendar::getLeastMaximumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getLocaleПрочитать локаль, из которой ICU взял календарные правила.IntlCalendar::getMaximumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getMinimalDaysInFirstWeekОпределить, сколько дней нового года должно попасть в его первую неделю.IntlCalendar::getMinimumПолучить границу поля для календарной формы или алгоритма обхода.IntlCalendar::getNowПолучить текущее системное время в единицах ICU.IntlCalendar::getRepeatedWallTimeOptionОпределить, какой момент соответствует повторённому местному времени.IntlCalendar::getSkippedWallTimeOptionОпределить, какой момент соответствует пропущенному местному времени.IntlCalendar::getTimeПрочитать или установить момент независимо от того, как он выглядит в местном календаре.IntlCalendar::getTimeZoneВыбрать или прочитать пояс календарного представления момента.IntlCalendar::getTypeУзнать конкретную календарную систему объекта.IntlCalendar::getWeekendTransitionПолучить время внутри дня, когда по правилам локали начинаются или заканчиваются выходные.IntlCalendar::inDaylightTimeПроверить, активна ли сезонная поправка именно в момент этого календаря.IntlCalendar::isEquivalentToСравнить календари по настройкам, исключая установленный момент.IntlCalendar::isLenientУправлять тем, нормализуются ли выходящие за диапазон календарные поля или вызывают ошибку.IntlCalendar::isSetУзнать, задано ли поле явно/при вычислении, прежде чем решать приоритет календарных полей.IntlCalendar::isWeekendПроверить конкретный момент на попадание в обычный выходной выбранной локали.IntlCalendar::rollИзменить календарное поле по кругу без переноса в старшие поля.IntlCalendar::setУстановить одно поле календаря, сохраняя остальные поля до пересчёта.IntlCalendar::setDateЗадать календарную дату явным современным методом без неоднозначной перегрузки.IntlCalendar::setDateTimeЗадать дату и время явным современным методом без неоднозначной перегрузки.IntlCalendar::setFirstDayOfWeekНастроить, с какого дня начинается неделя в календаре и недельных отчётах.IntlCalendar::setLenientУправлять тем, нормализуются ли выходящие за диапазон календарные поля или вызывают ошибку.IntlCalendar::setMinimalDaysInFirstWeekОпределить, сколько дней нового года должно попасть в его первую неделю.IntlCalendar::setRepeatedWallTimeOptionОпределить, какой момент соответствует повторённому местному времени.IntlCalendar::setSkippedWallTimeOptionОпределить, какой момент соответствует пропущенному местному времени.IntlCalendar::setTimeПрочитать или установить момент независимо от того, как он выглядит в местном календаре.IntlCalendar::setTimeZoneВыбрать или прочитать пояс календарного представления момента.IntlCalendar::toDateTimeПолучить обычный DateTime для кода, который работает с PHP Date/Time.IntlChar::charAgeПроверить совместимость экспортируемого символа со старым получателем Unicode.IntlChar::charDigitValueПревратить одну международную десятичную цифру в обычное числовое значение.IntlChar::charDirectionПосмотреть базовый bidi класс символа в смешанном RTL/LTR тексте.IntlChar::charFromNameНайти Unicode точку по её полному стандартному имени в редакторе символов.IntlChar::charMirrorПосмотреть простую Unicode замену для зеркального глифа при конвертации legacy visual-order данных.IntlChar::charNameПодписать странный символ в отчёте импорта, чтобы пользователь увидел, что именно мешает обработке.IntlChar::charTypeОбъяснить, к какой категории относится непривычный знак из импорта.IntlChar::chrСобрать UTF-8 символ из числового кода API или таблицы, без eval и самодельного byte encoding.IntlChar::digitРазобрать одну цифру позиционной системы счисления с выбранным основанием.IntlChar::enumCharNamesСоздать небольшой справочник символов выбранного диапазона с номерами и именами.IntlChar::enumCharTypesСоставить компактные диапазоны категорий Unicode вместо отдельной записи на каждую точку.IntlChar::foldCaseСвести варианты регистра одной точки к форме сравнения, например две греческие сигмы.IntlChar::forDigitСформировать один знак выбранной системы счисления при написании форматтера.IntlChar::getBidiPairedBracketНайти парную скобку в анализаторе Unicode текста.IntlChar::getBlockCodeНайти именованный Unicode блок символа в диагностическом справочнике.IntlChar::getCombiningClassОбъяснить порядок combining marks при нормализации Unicode.IntlChar::getFC_NFKC_ClosureПосмотреть специальный mapping для алгоритмов, сочетающих case folding и compatibility normalization.IntlChar::getIntPropertyMaxValueУзнать верхнюю границу значений именно установленной Unicode базы, не зашивая старое число.IntlChar::getIntPropertyMinValueПолучить нижнюю границу значений integer свойства перед построением диагностического списка.IntlChar::getIntPropertyValueПолучить письменность, категорию, ширину или другое перечислимое свойство символа.IntlChar::getNumericValueУзнать численный смысл символа, когда импорт содержит дробь или римское число.IntlChar::getPropertyEnumПеревести имя Unicode свойства из настройки в числовой selector для следующей проверки.IntlChar::getPropertyNameПодписать выбранный Unicode selector в настройках или диагностике.IntlChar::getPropertyValueEnumПревратить название категории или блока в значение конкретного свойства.IntlChar::getPropertyValueNameПодписать числовой результат Unicode проверки читаемым названием.IntlChar::getUnicodeVersionЗафиксировать версию Unicode данных, чтобы объяснить разные результаты на двух серверах.IntlChar::hasBinaryPropertyПроверить конкретное свойство символа: является ли он буквой или изменяется при смене регистра.IntlChar::isalnumРазобрать буквы и десятичные цифры международной метки.IntlChar::isalphaВыделить именно буквы при диагностике импортированного текста.IntlChar::isbaseСопоставить старый ICU критерий базового символа при переносе алгоритма.IntlChar::isblankОтличить горизонтальный промежуток в табличном импорте от новой строки.IntlChar::iscntrlНайти управляющие/форматирующие точки для понятной диагностики журнала.IntlChar::isdefinedУзнать, назначена ли точке категория в установленной Unicode базе.IntlChar::isdigitПринять десятичную цифру Unicode там, где международные цифры разрешены форматом.IntlChar::isgraphПометить кодовые точки, имеющие графическое содержание по ICU классификации.IntlChar::isIDIgnorableОбнаружить скрытые точки, которые старый identifier алгоритм считает игнорируемыми.IntlChar::isIDPartРазобрать последующие точки учебного Unicode идентификатора.IntlChar::isIDStartПроверить начало идентификатора по старому Unicode/ICU профилю.IntlChar::isISOControlНайти C0/C1 управляющие коды при просмотре некорректной выгрузки.IntlChar::isJavaIDPartПроверить продолжение имени для генератора Java кода.IntlChar::isJavaIDStartПроверить первый символ при генерации имени Java поля.IntlChar::isJavaSpaceCharСогласовать импорт с Java isSpaceChar, когда нужны категории разделителей.IntlChar::islowerНайти точки категории строчных букв Ll для статистики текста.IntlChar::isMirroredПоказать редактору, что глиф знака может зеркально отображаться в RTL контексте.IntlChar::isprintОтличить печатные категории от C при диагностике импортированного значения.IntlChar::ispunctКлассифицировать пунктуацию в поисковом анализаторе.IntlChar::isspaceПеренести C/POSIX-подобную классификацию пробельных точек на Unicode.IntlChar::istitleРаспознать отдельную titlecase точку в лингвистическом инструменте.IntlChar::isUAlphabeticИспользовать полное свойство Alphabetic при Unicode анализе.IntlChar::isULowercaseПроверить Unicode Lowercase, включая символы вне Ll.IntlChar::isupperНайти точки категории прописных букв Lu.IntlChar::isUUppercaseПроверить полное Unicode Uppercase при сравнении систем импорта.IntlChar::isUWhiteSpaceВыбрать именно стандартизованное Unicode White_Space для поля формы.IntlChar::isWhitespaceПовторить Java/ICU правило whitespace без неразрывных пробелов.IntlChar::isxdigitРазобрать hexadecimal-подобную Unicode цифру там, где международная форма разрешена.IntlChar::ordРазобраться, какая точка скрыта за непривычным знаком в импорте.IntlChar::tolowerСопоставить простой строчный вариант одной Unicode точки.IntlChar::totitleПолучить отдельный titlecase вариант сложной буквы, напримерdž→Dž.IntlChar::toupperСопоставить простой прописной вариант одной точки.IntlCodePointBreakIterator::getLastCodePointУзнать кодовую точку, через которую только что прошёл курсор.IntlDateFormatter::__constructПоказать дату заказа по языку посетителя и в нужном часовом поясе.IntlDateFormatter::createПоказать дату заказа по языку посетителя и в нужном часовом поясе.IntlDateFormatter::formatПреобразовать момент или календарные поля в строку для человека.IntlDateFormatter::formatObjectОдин раз отобразить объект даты в его собственном часовом поясе.IntlDateFormatter::getCalendarУзнать выбранный общий режим календаря форматтера.IntlDateFormatter::getCalendarObjectПолучить копию внутреннего календаря, чтобы узнать его тип и пояс.IntlDateFormatter::getDateTypeПрочитать выбранный стиль даты при диагностике форматтера.IntlDateFormatter::getErrorCodeПрочитать причину отказа разбора/форматирования у текущего объекта.IntlDateFormatter::getErrorMessageПрочитать причину отказа разбора/форматирования у текущего объекта.IntlDateFormatter::getLocaleПроверить, какая ICU-локаль реально предоставляет правила форматирования.IntlDateFormatter::getPatternВыбрать или проверить состав полей даты в отчёте.IntlDateFormatter::getTimeTypeПрочитать выбранный стиль времени при диагностике форматтера.IntlDateFormatter::getTimeZoneУзнать пояс, в котором форматтер показывает переданные моменты.IntlDateFormatter::getTimeZoneIdУзнать пояс, в котором форматтер показывает переданные моменты.IntlDateFormatter::isLenientНастроить строгость разбора даты, чтобы ввод не исправлялся незаметно для пользователя.IntlDateFormatter::localtimeРазобрать дату в отдельные календарные поля, когда нужны год, месяц и часы, а не timestamp.IntlDateFormatter::parseПревратить дату из согласованного текстового формата в момент времени.IntlDateFormatter::parseToCalendarПревратить дату из согласованного текстового формата в момент времени.IntlDateFormatter::setCalendarПереключить календарную систему или передать заранее настроенный календарь.IntlDateFormatter::setLenientНастроить строгость разбора даты, чтобы ввод не исправлялся незаметно для пользователя.IntlDateFormatter::setPatternВыбрать или проверить состав полей даты в отчёте.IntlDateFormatter::setTimeZoneПоказать тот же момент в часовом поясе получателя отчёта.IntlDatePatternGenerator::__constructПопросить дату с нужными полями, сохранив естественный для языка порядок.IntlDatePatternGenerator::createПопросить дату с нужными полями, сохранив естественный для языка порядок.IntlDatePatternGenerator::getBestPatternПопросить дату с нужными полями, сохранив естественный для языка порядок.intlgregcal_create_instanceСоздать именно григорианский календарь независимо от обычной системы выбранной локали.intlgregcal_get_gregorian_changeПрочитать или настроить историческую границу перехода с юлианских дат на григорианские.intlgregcal_is_leap_yearОпределить високосность года в настроенном григорианском календаре.intlgregcal_set_gregorian_changeПрочитать или настроить историческую границу перехода с юлианских дат на григорианские.IntlGregorianCalendar::__constructСоздать именно григорианский календарь независимо от обычной системы выбранной локали.IntlGregorianCalendar::createFromDateСоздать календарь непосредственно из даты с понятной сигнатурой.IntlGregorianCalendar::createFromDateTimeСоздать календарь непосредственно из даты и времени с понятной сигнатурой.IntlGregorianCalendar::getGregorianChangeПрочитать или настроить историческую границу перехода с юлианских дат на григорианские.IntlGregorianCalendar::isLeapYearОпределить високосность года в настроенном григорианском календаре.IntlGregorianCalendar::setGregorianChangeПрочитать или настроить историческую границу перехода с юлианских дат на григорианские.IntlIterator::currentПрочитать текущий элемент, не двигаясь дальше.IntlIterator::keyПрочитать ключ текущего элемента.IntlIterator::nextПереместить курсор на следующий элемент.IntlIterator::rewindНачать обход заново.IntlIterator::validПроверить, существует ли текущий элемент.IntlListFormatter::__constructПоказать перечень вариантов человеческой фразой, не склеивая последний союз вручную.IntlListFormatter::formatПоказать перечень вариантов человеческой фразой, не склеивая последний союз вручную.IntlListFormatter::getErrorCodeПоказать перечень вариантов человеческой фразой, не склеивая последний союз вручную.IntlListFormatter::getErrorMessageПоказать перечень вариантов человеческой фразой, не склеивая последний союз вручную.IntlPartsIterator::getBreakIteratorПолучить анализатор, из которого построен обход частей.IntlPartsIterator::getRuleStatusПрочитать статус именно текущего фрагмента при foreach по частям.IntlRuleBasedBreakIterator::__constructСделать собственные границы для простого служебного формата, когда стандартных слов недостаточно.IntlRuleBasedBreakIterator::getBinaryRulesПолучить скомпилированные правила, чтобы не разбирать текст грамматики повторно в совместимой среде.IntlRuleBasedBreakIterator::getRulesПрочитать текст правил, используемый анализатором.IntlRuleBasedBreakIterator::getRuleStatusУзнать, какое правило завершило текущий сегмент.IntlRuleBasedBreakIterator::getRuleStatusVecУзнать, какое правило завершило текущий сегмент.IntlTimeZone::__constructСоздать часовой пояс через доступную фабрику, а не закрытый конструктор.IntlTimeZone::countEquivalentIDsНайти группу эквивалентных ID, чтобы понять исторические алиасы одного набора правил.IntlTimeZone::createDefaultПолучить отдельный объект системного пояса по умолчанию ICU.IntlTimeZone::createEnumerationПолучить список поясов для выбора или найти пояса указанного региона/базового смещения.IntlTimeZone::createTimeZoneВыбрать правила города или фиксированное смещение для календаря/отчёта.IntlTimeZone::createTimeZoneIDEnumerationСобрать список канонических поясов без лишних исторических алиасов и ограничить его регионом/смещением.IntlTimeZone::fromDateTimeZoneПередать выбранный PHP-пояс в календарную инфраструктуру ICU.IntlTimeZone::getCanonicalIDНормализовать алиас пояса и проверить, относится ли он к системной базе или задан вручную.IntlTimeZone::getDisplayNameПодписать часовой пояс в настройках интерфейса понятным локализованным названием.IntlTimeZone::getDSTSavingsУзнать величину сезонного дополнения, предусмотренную правилами пояса.IntlTimeZone::getEquivalentIDНайти группу эквивалентных ID, чтобы понять исторические алиасы одного набора правил.IntlTimeZone::getErrorCodeПолучить последнюю ошибку конкретного объекта пояса.IntlTimeZone::getErrorMessageПолучить последнюю ошибку конкретного объекта пояса.IntlTimeZone::getGMTПолучить эталонный пояс с нулевым смещением.IntlTimeZone::getIanaIDПолучить предпочтительное имя IANA для совместимого обмена настройками часового пояса.IntlTimeZone::getIDПрочитать идентификатор пояса, который хранится в объекте.IntlTimeZone::getIDForWindowsIDСопоставить настройки пояса Windows и системный ID ICU/IANA при интеграции сервисов.IntlTimeZone::getOffsetВычислить базовый и сезонный сдвиг для конкретного момента, например при показе событий разных городов.IntlTimeZone::getRawOffsetПрочитать стандартное смещение без сезонной поправки.IntlTimeZone::getRegionУзнать регион, с которым в ICU связан системный ID пояса.IntlTimeZone::getTZDataVersionЗаписать версию базы переходов ICU при расследовании расхождения времени между серверами.IntlTimeZone::getUnknownПолучить специальное значение неизвестного пояса для диагностики.IntlTimeZone::getWindowsIDСопоставить настройки пояса Windows и системный ID ICU/IANA при интеграции сервисов.IntlTimeZone::hasSameRulesСравнить два пояса по смещению и правилам, не требуя одинаковых ID.IntlTimeZone::toDateTimeZoneПередать пояс из ICU в обычные DateTime/DateTimeImmutable PHP.IntlTimeZone::useDaylightTimeПроверить, использует ли пояс сезонное время по своим правилам.intltz_count_equivalent_idsНайти группу эквивалентных ID, чтобы понять исторические алиасы одного набора правил.intltz_create_defaultПолучить отдельный объект системного пояса по умолчанию ICU.intltz_create_enumerationПолучить список поясов для выбора или найти пояса указанного региона/базового смещения.intltz_create_time_zoneВыбрать правила города или фиксированное смещение для календаря/отчёта.intltz_create_time_zone_id_enumerationСобрать список канонических поясов без лишних исторических алиасов и ограничить его регионом/смещением.intltz_from_date_time_zoneПередать выбранный PHP-пояс в календарную инфраструктуру ICU.intltz_get_canonical_idНормализовать алиас пояса и проверить, относится ли он к системной базе или задан вручную.intltz_get_display_nameПодписать часовой пояс в настройках интерфейса понятным локализованным названием.intltz_get_dst_savingsУзнать величину сезонного дополнения, предусмотренную правилами пояса.intltz_get_equivalent_idНайти группу эквивалентных ID, чтобы понять исторические алиасы одного набора правил.intltz_get_error_codeПолучить последнюю ошибку конкретного объекта пояса.intltz_get_error_messageПолучить последнюю ошибку конкретного объекта пояса.intltz_get_gmtПолучить эталонный пояс с нулевым смещением.intltz_get_iana_idПолучить предпочтительное имя IANA для совместимого обмена настройками часового пояса.intltz_get_idПрочитать идентификатор пояса, который хранится в объекте.intltz_get_id_for_windows_idСопоставить настройки пояса Windows и системный ID ICU/IANA при интеграции сервисов.intltz_get_offsetВычислить базовый и сезонный сдвиг для конкретного момента, например при показе событий разных городов.intltz_get_raw_offsetПрочитать стандартное смещение без сезонной поправки.intltz_get_regionУзнать регион, с которым в ICU связан системный ID пояса.intltz_get_tz_data_versionЗаписать версию базы переходов ICU при расследовании расхождения времени между серверами.intltz_get_unknownПолучить специальное значение неизвестного пояса для диагностики.intltz_get_windows_idСопоставить настройки пояса Windows и системный ID ICU/IANA при интеграции сервисов.intltz_has_same_rulesСравнить два пояса по смещению и правилам, не требуя одинаковых ID.intltz_to_date_time_zoneПередать пояс из ICU в обычные DateTime/DateTimeImmutable PHP.intltz_use_daylight_timeПроверить, использует ли пояс сезонное время по своим правилам.Locale::acceptFromHttpПрочитать предпочтения браузера из Accept-Language, прежде чем выбрать поддерживаемый перевод.Locale::addLikelySubtagsУточнить или сократить языковую настройку по известным ICU вероятным сочетаниям.Locale::canonicalizeПривести написание идентификатора к форме ICU перед сравнением настроек.Locale::composeLocaleСобрать locale из частей настроек, не ошибившись в порядке языка, письменности и региона.Locale::filterMatchesПроверить, входит ли конкретный языковой тег в диапазон поддерживаемого языка.Locale::getAllVariantsПолучить дополнительные варианты locale отдельно от языка и региона.Locale::getDefaultВыяснить, какие правила intl использует там, где локаль не передана явно.Locale::getDisplayLanguageПоказать название языка в переключателе языка понятным человеку текстом.Locale::getDisplayNameПоказать полное название локали в переключателе языка понятным человеку текстом.Locale::getDisplayRegionПоказать название региона в переключателе языка понятным человеку текстом.Locale::getDisplayScriptПоказать название письменности в переключателе языка понятным человеку текстом.Locale::getDisplayVariantПоказать название варианта в переключателе языка понятным человеку текстом.Locale::getKeywordsПрочитать дополнительные настройки ICU в locale: календарь, сортировку, нумерацию.Locale::getPrimaryLanguageИзвлечь язык из выбранной локали для диагностики и маршрутизации интерфейса.Locale::getRegionИзвлечь регион из выбранной локали для диагностики и маршрутизации интерфейса.Locale::getScriptИзвлечь письменность из выбранной локали для диагностики и маршрутизации интерфейса.Locale::isRightToLeftВыбрать направление интерфейса для языка с письмом справа налево.Locale::lookupВыбрать ближайший перевод из тех, которые действительно есть у сайта.Locale::minimizeSubtagsУточнить или сократить языковую настройку по известным ICU вероятным сочетаниям.Locale::parseLocaleПолучить все части locale в массиве, когда экран настроек редактирует их отдельно.Locale::setDefaultУстановить запасную локаль для операций текущего запроса, если приложение выбрало язык пользователя.locale_accept_from_httpПрочитать предпочтения браузера из Accept-Language, прежде чем выбрать поддерживаемый перевод.locale_add_likely_subtagsУточнить или сократить языковую настройку по известным ICU вероятным сочетаниям.locale_canonicalizeПривести написание идентификатора к форме ICU перед сравнением настроек.locale_composeСобрать locale из частей настроек, не ошибившись в порядке языка, письменности и региона.locale_filter_matchesПроверить, входит ли конкретный языковой тег в диапазон поддерживаемого языка.locale_get_all_variantsПолучить дополнительные варианты locale отдельно от языка и региона.locale_get_defaultВыяснить, какие правила intl использует там, где локаль не передана явно.locale_get_display_languageПоказать название языка в переключателе языка понятным человеку текстом.locale_get_display_nameПоказать полное название локали в переключателе языка понятным человеку текстом.locale_get_display_regionПоказать название региона в переключателе языка понятным человеку текстом.locale_get_display_scriptПоказать название письменности в переключателе языка понятным человеку текстом.locale_get_display_variantПоказать название варианта в переключателе языка понятным человеку текстом.locale_get_keywordsПрочитать дополнительные настройки ICU в locale: календарь, сортировку, нумерацию.locale_get_primary_languageИзвлечь язык из выбранной локали для диагностики и маршрутизации интерфейса.locale_get_regionИзвлечь регион из выбранной локали для диагностики и маршрутизации интерфейса.locale_get_scriptИзвлечь письменность из выбранной локали для диагностики и маршрутизации интерфейса.locale_is_right_to_leftВыбрать направление интерфейса для языка с письмом справа налево.locale_lookupВыбрать ближайший перевод из тех, которые действительно есть у сайта.locale_minimize_subtagsУточнить или сократить языковую настройку по известным ICU вероятным сочетаниям.locale_parseПолучить все части locale в массиве, когда экран настроек редактирует их отдельно.locale_set_defaultУстановить запасную локаль для операций текущего запроса, если приложение выбрало язык пользователя.MessageFormatter::__constructПодготовить текст письма или интерфейса, в котором имена, числа и порядок слов зависят от языка.MessageFormatter::createПодготовить текст письма или интерфейса, в котором имена, числа и порядок слов зависят от языка.MessageFormatter::formatПодставить данные заказа в подготовленный шаблон, сохранив правила языка.MessageFormatter::formatMessageОдин раз сформировать локализованную фразу без хранения форматтера.MessageFormatter::getErrorCodeУзнать причину последней неудачи у конкретного шаблона.MessageFormatter::getErrorMessageУзнать причину последней неудачи у конкретного шаблона.MessageFormatter::getLocaleПонять, какие языковые правила привязаны к шаблону письма.MessageFormatter::getPatternЗаменить или прочитать шаблон выбранного перевода, не меняя локаль объекта.MessageFormatter::parseИзвлечь данные из известного формата сообщения, например из совместимого старого отчёта.MessageFormatter::parseMessageИзвлечь данные из известного формата сообщения, например из совместимого старого отчёта.MessageFormatter::setPatternЗаменить или прочитать шаблон выбранного перевода, не меняя локаль объекта.msgfmt_createПодготовить текст письма или интерфейса, в котором имена, числа и порядок слов зависят от языка.msgfmt_formatПодставить данные заказа в подготовленный шаблон, сохранив правила языка.msgfmt_format_messageОдин раз сформировать локализованную фразу без хранения форматтера.msgfmt_get_error_codeУзнать причину последней неудачи у конкретного шаблона.msgfmt_get_error_messageУзнать причину последней неудачи у конкретного шаблона.msgfmt_get_localeПонять, какие языковые правила привязаны к шаблону письма.msgfmt_get_patternЗаменить или прочитать шаблон выбранного перевода, не меняя локаль объекта.msgfmt_parseИзвлечь данные из известного формата сообщения, например из совместимого старого отчёта.msgfmt_parse_messageИзвлечь данные из известного формата сообщения, например из совместимого старого отчёта.msgfmt_set_patternЗаменить или прочитать шаблон выбранного перевода, не меняя локаль объекта.Normalizer::getRawDecompositionПосмотреть, из чего Unicode разрешает разложить один символ: полезно для диагностики необычных букв и учебного инспектора текста.Normalizer::isNormalizedПроверить, соответствует ли строка принятой форме Unicode, перед сравнением или индексированием.Normalizer::normalizeСделать одинаковые по смыслу записи Unicode сопоставимыми: посетитель вставил букву с отдельным ударением, а база хранит готовую букву.normalizer_get_raw_decompositionПосмотреть, из чего Unicode разрешает разложить один символ: полезно для диагностики необычных букв и учебного инспектора текста.normalizer_is_normalizedПроверить, соответствует ли строка принятой форме Unicode, перед сравнением или индексированием.normalizer_normalizeСделать одинаковые по смыслу записи Unicode сопоставимыми: посетитель вставил букву с отдельным ударением, а база хранит готовую букву.NumberFormatter::__constructПодготовить представление чисел под язык посетителя: каталог, отчёт, процент или сумма.NumberFormatter::createПодготовить представление чисел под язык посетителя: каталог, отчёт, процент или сумма.NumberFormatter::formatПолучить строку для пользователя, сохранив число для вычислений отдельно.NumberFormatter::formatCurrencyПоказать цену с правильным положением валюты и количеством знаков по её правилам.NumberFormatter::getAttributeНастроить количество знаков, группировку или округление под договор отчёта.NumberFormatter::getErrorCodeПолучить причину неудачного форматирования/разбора у текущего объекта.NumberFormatter::getErrorMessageПолучить причину неудачного форматирования/разбора у текущего объекта.NumberFormatter::getLocaleПроверить локаль данных форматирования после ICU fallback.NumberFormatter::getPatternОписать устойчивый шаблон отчёта и проверить, какое правило сейчас использует объект.NumberFormatter::getSymbolУправлять конкретным знаком представления числа для специального отчёта.NumberFormatter::getTextAttributeДобавить понятный префикс/суффикс числа или выбрать валютный код/набор правил.NumberFormatter::parseПрочитать локализованное число из поля формы, когда посетитель вводит привычные ему разделители.NumberFormatter::parseCurrencyПрочитать сумму вместе с распознанной валютой, а затем проверить её против ожидаемой.NumberFormatter::setAttributeНастроить количество знаков, группировку или округление под договор отчёта.NumberFormatter::setPatternОписать устойчивый шаблон отчёта и проверить, какое правило сейчас использует объект.NumberFormatter::setSymbolУправлять конкретным знаком представления числа для специального отчёта.NumberFormatter::setTextAttributeДобавить понятный префикс/суффикс числа или выбрать валютный код/набор правил.numfmt_createПодготовить представление чисел под язык посетителя: каталог, отчёт, процент или сумма.numfmt_formatПолучить строку для пользователя, сохранив число для вычислений отдельно.numfmt_format_currencyПоказать цену с правильным положением валюты и количеством знаков по её правилам.numfmt_get_attributeНастроить количество знаков, группировку или округление под договор отчёта.numfmt_get_error_codeПолучить причину неудачного форматирования/разбора у текущего объекта.numfmt_get_error_messageПолучить причину неудачного форматирования/разбора у текущего объекта.numfmt_get_localeПроверить локаль данных форматирования после ICU fallback.numfmt_get_patternОписать устойчивый шаблон отчёта и проверить, какое правило сейчас использует объект.numfmt_get_symbolУправлять конкретным знаком представления числа для специального отчёта.numfmt_get_text_attributeДобавить понятный префикс/суффикс числа или выбрать валютный код/набор правил.numfmt_parseПрочитать локализованное число из поля формы, когда посетитель вводит привычные ему разделители.numfmt_parse_currencyПрочитать сумму вместе с распознанной валютой, а затем проверить её против ожидаемой.numfmt_set_attributeНастроить количество знаков, группировку или округление под договор отчёта.numfmt_set_patternОписать устойчивый шаблон отчёта и проверить, какое правило сейчас использует объект.numfmt_set_symbolУправлять конкретным знаком представления числа для специального отчёта.numfmt_set_text_attributeДобавить понятный префикс/суффикс числа или выбрать валютный код/набор правил.ResourceBundle::__constructОткрыть языковые ресурсы ICU или заранее подготовленный ресурсный пакет приложения.ResourceBundle::countУзнать число элементов текущей ветки, прежде чем показать список или пройти индексами.ResourceBundle::createОткрыть языковые ресурсы ICU или заранее подготовленный ресурсный пакет приложения.ResourceBundle::getПройти к нужному элементу дерева ресурсов: по строковому имени или числовому индексу.ResourceBundle::getErrorCodeОтличить отсутствующий ресурс от допустимого fallback и получить причину неудачи.ResourceBundle::getErrorMessageОтличить отсутствующий ресурс от допустимого fallback и получить причину неудачи.ResourceBundle::getIteratorПеребрать непосредственные ресурсы с помощью foreach, не вручную вычисляя индексы.ResourceBundle::getLocalesПолучить локали, для которых пакет действительно содержит ресурсы.resourcebundle_countУзнать число элементов текущей ветки, прежде чем показать список или пройти индексами.resourcebundle_createОткрыть языковые ресурсы ICU или заранее подготовленный ресурсный пакет приложения.resourcebundle_getПройти к нужному элементу дерева ресурсов: по строковому имени или числовому индексу.resourcebundle_get_error_codeОтличить отсутствующий ресурс от допустимого fallback и получить причину неудачи.resourcebundle_get_error_messageОтличить отсутствующий ресурс от допустимого fallback и получить причину неудачи.resourcebundle_localesПолучить локали, для которых пакет действительно содержит ресурсы.Spoofchecker::__constructПодготовить проверку похожих Unicode-имён при регистрации аккаунта или показе домена.Spoofchecker::areConfusableСравнить новое имя с важным существующим именем: не выглядит ли оно похожим из-за Unicode-подмены.Spoofchecker::isSuspiciousПроверить одно имя на смешение письменностей, невидимые символы и другие признаки выбранного профиля.Spoofchecker::setAllowedCharsЗадать точную грамматику допустимых символов для служебного имени.Spoofchecker::setAllowedLocalesРазрешить письменности, связанные с заданными локалями, когда известны языки поля.Spoofchecker::setChecksВыбрать конкретные проверки для поля с известным назначением.Spoofchecker::setRestrictionLevelЗадать допустимую сложность сочетаний письменностей для идентификаторов продукта.Transliterator::__constructПонять, почему этот объект получают через фабрику, а не через new.Transliterator::createПодготовить повторяемое преобразование текста: привести регистр, алфавит или ширину символов.Transliterator::createFromRulesОписать свою замену для известного формата данных, когда стандартного ID недостаточно.Transliterator::createInverseПолучить преобразование противоположного направления, если оно существует.Transliterator::getErrorCodeПроверить состояние конкретного преобразователя после вызова.Transliterator::getErrorMessageПроверить состояние конкретного преобразователя после вызова.Transliterator::listIDsУзнать, какие преобразования доступны в конкретной сборке ICU, прежде чем предложить их пользователю.Transliterator::transliterateПрименить выбранные правила ко всей строке или ограниченному фрагменту.transliterator_createПодготовить повторяемое преобразование текста: привести регистр, алфавит или ширину символов.transliterator_create_from_rulesОписать свою замену для известного формата данных, когда стандартного ID недостаточно.transliterator_create_inverseПолучить преобразование противоположного направления, если оно существует.transliterator_get_error_codeПроверить состояние конкретного преобразователя после вызова.transliterator_get_error_messageПроверить состояние конкретного преобразователя после вызова.transliterator_list_idsУзнать, какие преобразования доступны в конкретной сборке ICU, прежде чем предложить их пользователю.transliterator_transliterateПрименить выбранные правила ко всей строке или ограниченному фрагменту.UConverter::__constructПрочитать текст старого файла/сервиса в известной кодировке и привести его к UTF-8 приложения.UConverter::convertПреобразовать байты из настроенного источника в настроенную целевую кодировку.UConverter::fromUCallbackОпределить политику непредставимых Unicode-символов при кодировании.UConverter::getAliasesУзнать альтернативные имена одной кодировки при согласовании charset разных систем.UConverter::getAvailableПроверить набор кодировок конкретной ICU-сборки перед настройкой интеграции.UConverter::getDestinationEncodingПрочитать каноническое имя целевой кодировки для журнала импорта.UConverter::getDestinationTypeУзнать техническую категорию конвертера для диагностики возможностей и структуры кодировки.UConverter::getErrorCodeУзнать результат последней операции перекодирования или настройки.UConverter::getErrorMessageУзнать результат последней операции перекодирования или настройки.UConverter::getSourceEncodingПрочитать каноническое имя исходной кодировки для журнала импорта.UConverter::getSourceTypeУзнать техническую категорию конвертера для диагностики возможностей и структуры кодировки.UConverter::getStandardsПосмотреть, какие стандарты именования конвертеров представлены в ICU.UConverter::getSubstCharsВыбрать или проверить замену символа, который невозможно представить в целевой кодировке.UConverter::reasonTextПреобразовать код события callback в техническое имя для диагностики.UConverter::setDestinationEncodingИзменить целевую кодировку, когда следующая партия имеет другой известный контракт.UConverter::setSourceEncodingИзменить исходную кодировку, когда следующая партия имеет другой известный контракт.UConverter::setSubstCharsВыбрать или проверить замену символа, который невозможно представить в целевой кодировке.UConverter::toUCallbackОпределить политику повреждённых исходных байтов при декодировании.UConverter::transcodeОдин раз перекодировать данные без хранения объекта.Итераторы, генераторы, SPL и Fibers: обработка больших наборов
JSON: функции, флаги, ошибки и формат обмена
libxml: ошибки XML, настройки парсера и внешние зависимости
libxml_clear_errorsЗакончить обработку XML-диагностики, чтобы следующая попытка не унаследовала прежние сообщения.libxml_disable_entity_loaderПонять старую защитную настройку XML и заменить её осознанной политикой загрузки в современном PHP.libxml_get_errorsПолучить все диагностические сообщения текущей XML-операции, чтобы объяснить поставщику, что именно не разобралось.libxml_get_external_entity_loaderСохранить чужой XML-загрузчик перед временной настройкой, чтобы после импорта вернуть прежнее поведение приложения.libxml_get_last_errorУзнать последнее XML-сообщение для краткой диагностики, не считая его полной историей ошибки.libxml_set_external_entity_loaderРазрешить XML использовать только заранее известную схему или запретить внешние зависимости, вместо произвольного чтения адресов из документа.libxml_set_streams_contextЗадать тайм-аут и заголовки PHP-потока, когда XML-библиотека сама открывает документ по HTTP.libxml_use_internal_errorsПринять повреждённый XML от поставщика без вывода технических предупреждений посетителю и разобрать причины программно.Магические методы: полезные протоколы и скрытые ловушки
Mail: письмо с сайта, MIME, безопасность заголовков и доставка
Математика: полный справочник функций Math
absИзменение остатка может быть отрицательным; abs даёт величину изменения без направления.acosВосстановите угол по косинусу: горизонтальная проекция 5 при длине 10 даёт угол для чертежа.acoshДля численной шкалы или геометрической модели используйте обратный гиперболический косинус; ниже показано, какую величину он преобразует.asinВосстановите угол по синусу: подъём 5 при длине 10 даёт угол для чертежа.asinhДля численной шкалы или геометрической модели используйте обратный гиперболический синус; ниже показано, какую величину он преобразует.atanВосстановите угол по тангенсу: подъём 10 при горизонтали 10 даёт угол для чертежа.atan2Получите направление между двумя точками, сохранив четверть плоскости и не деля самостоятельно на x.atanhДля численной шкалы или геометрической модели используйте обратный гиперболический тангенс; ниже показано, какую величину он преобразует.base_convertПереведите небольшое целое между системами счисления: число 255 записывается как ff в основании 16.bindecПрочитайте двоичную запись из интеграции как обычное число.ceilЧтобы разместить все товары, неполную коробку тоже нужно учесть. ceil округляет вверх.clampОграничьте величину допустимым диапазоном: яркость ниже 0 станет 0, выше 100 станет 100.cosДля точки на чертеже вычислите горизонтальную проекцию единичного радиуса через косинус.coshДля численной шкалы или геометрической модели используйте гиперболический косинус; ниже показано, какую величину он преобразует.decbinПолучите текстовую двоичную запись целого числа для диагностики и обмена.dechexПолучите текстовую шестнадцатеричную запись целого числа для диагностики и обмена.decoctПолучите текстовую восьмеричную запись целого числа для диагностики и обмена.deg2radЯвно согласуйте единицы угла между интерфейсом и математическими функциями.expВ расчёте плавного затухания нужен коэффициент e в степени: exp превращает время модели в положительный множитель.expm1Для очень малого изменения вычислите eˣ − 1, сохранив малую разницу, которую обычное вычитание может потерять.fdivВ численной обработке можно сохранить бесконечный или неопределённый результат деления, а затем явно выбрать, что показать пользователю.floorЧтобы узнать число полностью заполненных ёмкостей, floor округляет вниз.fmodПолучите оставшуюся часть дробной величины: например, остаток длины после нарезки равных кусков.fpowКогда численная модель должна возвращать INF/NAN без предупреждения о нуле в отрицательной степени, используйте fpow.hexdecПрочитайте шестнадцатеричную запись из интеграции как обычное число.hypotНа плане склада найдите расстояние по двум смещениям: 3 м по горизонтали и 4 м по вертикали дают 5 м по прямой.is_finiteПеред сохранением измерения убедитесь, что оно не NAN и не бесконечность.is_infiniteОтдельно распознайте переполнение расчёта или бесконечность от деления.is_nanОтличите неопределённый численный результат от обычного измерения и бесконечности.logУзнайте, в какую степень нужно возвести основание, чтобы получить число: log(32, 2) даёт 5.log10Покажите величины разных порядков на логарифмической шкале: 10, 100 и 1000 превращаются в 1, 2 и 3.log1pВычислите ln(1+x) для малой доли x, не теряя её при предварительном сложении с единицей.maxВыберите наибольшее время обработки из отчёта без сортировки всего списка.minВыберите наименьшее время обработки из отчёта без сортировки всего списка.octdecПрочитайте восьмеричную запись из интеграции как обычное число.piДля длины окружности используйте встроенное приближение π, не запоминая сокращённое 3.14.powПосчитайте число вариантов из независимых позиций: четыре состояния в трёх позициях дают 4³ = 64.rad2degЯвно согласуйте единицы угла между интерфейсом и математическими функциями.RoundingModeРежим — часть договора расчёта: «половину вверх» и «любую дробь вверх» нужно различать.sinДля точки на чертеже вычислите вертикальную проекцию единичного радиуса через синус.sinhДля численной шкалы или геометрической модели используйте гиперболический синус; ниже показано, какую величину он преобразует.sqrtИз площади квадратной плитки получите сторону: корень отвечает, какое число в квадрате даст исходное.tanДля точки на чертеже вычислите отношение вертикального смещения к горизонтальному через тангенс.tanhДля численной шкалы или геометрической модели используйте гиперболический тангенс; ниже показано, какую величину он преобразует.Многобайтовые строки: полный справочник mbstring
mb_check_encodingПоставщик обещает UTF-8, но в названии товара иногда приходит повреждённый байт. До поиска, записи и вывода нужно понять, соответствует ли строка этой договорённости. mb_check_encoding возвращает ответ да/нет; далее программа либо принимает данные, либо показывает причину отказа. Функция не восстанавливает испорченную букву.mb_chrВ таблице интеграции символ указан числом Unicode, например 8364 для евро. mb_chr создаёт из такого числа настоящую строку в нужной кодировке. Её можно включить в подпись цены или диагностическое сообщение.mb_convert_caseУ преобразования регистра несколько разных задач: вывести заголовок, подготовить этикетку или сравнить два написания без регистра. mb_convert_case позволяет явно выбрать правило. Для сравнения Straße и STRASSE нужен полный case folding, а не простое приведение к строчным буквам.mb_convert_encodingСтарая складская программа выгружает названия в Windows-1251, а сайт работает в UTF-8. Слова должны остаться теми же, но последовательность байтов изменится. mb_convert_encoding получает исходные байты, кодировку назначения и известную кодировку источника. На выходе — новая строка или массив, с которыми уже можно работать в кодировке сайта.mb_convert_kanaЯпонский поставщик прислал артикул широкими символами AB12, а каталог хранит AB12. mb_convert_kana умеет согласованно менять ширину выбранных знаков и формы kana. Это помогает сопоставить данные по заранее выбранному правилу, сохраняя исходное написание.mb_convert_variablesСтарый модуль отдаёт несколько связанных полей в одной кодировке и ожидает, что они будут изменены на месте. mb_convert_variables перекодирует переданные переменные по ссылке. Возвращаемое значение сообщает исходную кодировку; сами новые строки надо читать из тех переменных, которые передали.mb_decode_mimeheaderПри импорте письма тема выглядит как =?UTF-8?B?...?=. Человеку нужно название, а не транспортная упаковка. mb_decode_mimeheader раскрывает encoded-word и возвращает текст в mb_internal_encoding. Она не разбирает вложения и не декодирует автоматически тело MIME-письма.mb_decode_numericentityПартнёр передал знак евро в виде числовой HTML-ссылки, а отчёту нужна обычная UTF-8-строка. mb_decode_numericentity раскрывает ссылки только в выбранных диапазонах. После декодирования строка остаётся внешними данными и требует правил своего назначения.mb_detect_encodingФайл пришёл без метки кодировки. Детектор может предложить кандидата из заданного списка, но не знает, что автор файла имел в виду. Поэтому сначала ищут договорённость с источником; автоматическую гипотезу используют для предпросмотра и подтверждения импорта, а не как доказательство правильного текста.mb_detect_orderСтарый компонент вызывает mb_detect_encoding без списка кандидатов. mb_detect_order позволяет задать, какие таблицы он будет рассматривать по умолчанию. Это настройка детектора, а не команда перекодирования и не доказательство происхождения файла.mb_encode_mimeheaderВ почтовом списке человек должен увидеть «Кисть», хотя транспортный заголовок содержит специальную ASCII-запись. mb_encode_mimeheader кодирует значение заголовка по MIME. Она не создаёт целое письмо и не отправляет его. Сначала получим одну строку Subject, затем сохраним собственный order.eml.mb_encode_numericentityИногда текстовый формат требует представить выбранные Unicode-знаки числовыми HTML-ссылками. Например, евро можно записать как € или €. Функция создаёт это представление по карте диапазонов; само по себе оно не является универсальным HTML-экранированием.mb_encoding_aliasesВ настройке поставщика написано CP1251, а в вашем профиле — Windows-1251. Aliases помогают разобраться, являются ли это два имени одной таблицы. Это полезно при настройке интеграции; разные похожие кодировки нельзя объявлять одинаковыми только по названию.mb_eregВ уведомлении поставщика есть номер заказа внутри текста: «Заказ 42 готов». mb_ereg ищет фрагмент по шаблону и возвращает захваченные части через отдельную переменную. Регистр букв по умолчанию важен; для варианта без регистра есть mb_eregi.mb_ereg_matchПеред поиском товара нужно принять артикул определённого вида: две латинские буквы, дефис, две цифры. mb_ereg_match начинает проверку с начала строки, но конец следует указать явно. Иначе правильный префикс может скрыть лишний текст.mb_ereg_replaceРедактору нужно привести подписи заказов к новому формату, сохранив номера. Замена по шаблону находит подпись и захватывает число, затем вставляет его в новый текст. mb_ereg_replace учитывает регистр, если явно не выбраны другие опции.mb_ereg_replace_callbackТекст уведомления содержит метки {{товар}} и {{город}}, а значения уже получены из заказа. Callback получает каждое найденное совпадение и возвращает подходящую подстановку. Так обычная PHP-функция участвует в построении текста без eval и без ручного поиска каждого места.mb_ereg_searchТекст и шаблон уже подготовлены через init. mb_ereg_search передвигается к следующему совпадению и сообщает, найдено ли оно. Сам найденный номер читают отдельной функцией getregs; когда больше номеров нет, цикл заканчивается.mb_ereg_search_getposПарсер уже прочитал один номер. Чтобы временно заглянуть вперёд и затем вернуться, нужно сохранить текущую позицию. getpos возвращает байтовый курсор следующего поиска, не изменяя его и не извлекая новый номер.mb_ereg_search_getregsНайденный номер нужен и для подписи, и для следующего шага обработки. getregs читает группы последнего совпадения повторно, не переходя к следующему. Этим он отличается от search_regs, который сразу выполняет новый поиск.mb_ereg_search_initНужно последовательно извлечь номера из длинного уведомления, а не искать всё заново с начала. init сохраняет текст и шаблон для семейства mb_ereg_search_*. Это только подготовка: результат появится при следующем поисковом вызове.mb_ereg_search_posКроме самого номера бывает нужно знать его место в исходном тексте: для разбора протокола, отметки проблемного участка или последующей замены. search_pos возвращает байтовое начало и длину следующего совпадения. Эти числа можно передать substr для той же неизменённой строки.mb_ereg_search_regsУведомление содержит пары «заказ — состояние». search_regs за один вызов находит следующую пару и возвращает группы: номер отдельно, состояние отдельно. Так текст можно превратить в обычные записи массива, которые дальше удобно перебирать.mb_ereg_search_setposПосле предварительного просмотра следующего номера нужно обработать его ещё раз. setpos возвращает курсор на сохранённую байтовую границу. Сам setter не ищет совпадение: результат появится только при следующем search-вызове.mb_eregiВ уведомлении поставщика есть номер заказа внутри текста: «ЗАКАЗ 42 готов». mb_eregi ищет фрагмент по шаблону и возвращает захваченные части через отдельную переменную. Регистр подписи при этом не важен.mb_eregi_replaceРедактору нужно привести подписи заказов к новому формату, сохранив номера. Замена по шаблону находит подпись и захватывает число, затем вставляет его в новый текст. mb_eregi_replace принимает разные регистры подписи.mb_get_infoНа одном сервере письмо читается, на другом получается нечитаемая тема. Для диагностики нужны конкретные значения настройки mbstring: внутренняя кодировка, почтовый charset и способ упаковки. mb_get_info показывает их без огромной страницы phpinfo.mb_http_inputНа страницу пришёл товар «Молоток». Нужно узнать, участвовал ли входной конвертер mbstring, и одновременно увидеть сами данные. mb_http_input читает состояние обработанного типа входа; она не возвращает содержимое формы и не определяет заново кодировку произвольной строки. Здесь согласован UTF-8, автоматическая конверсия выключена.mb_http_outputЧитатель старой складской программы должен получить понятную строку «Молоток — 8 шт.». Задаёт желаемую выходную кодировку mbstring. Сам вызов не меняет уже существующие строки: нужен обработчик выходного буфера. Прежде чем подключать его к старому клиенту, сравним два настоящих ответа.mb_internal_encodingУзнать или задать default для текстовых mb-функций.mb_languageВыбрать языковой профиль кодирования почты, а не язык пользовательского интерфейса.mb_lcfirstЕсть готовая подпись «Заказ готов», которую надо включить после слова «Статус:». mb_lcfirst делает строчной только первую кодовую точку: остальное написание остаётся как было. Это удобно для заранее подготовленных фраз, но не является редактором произвольного текста.mb_list_encodingsФорма импорта предлагает UTF-8 и старый Windows-1251. Перед обработкой нужно убедиться, что установленная сборка PHP поддерживает выбранные таблицы. mb_list_encodings возвращает каталог имён; из него приложение выбирает только форматы, которые действительно обещает обработать.mb_ltrimПосле копирования названия из документа вокруг слова остаются неразрывные пробелы. mb_ltrim убирает выбранные знаки слева, сохраняя содержимое поля. Сначала увидим границы строки в квадратных скобках, затем подготовим название для карточки товара. Это осмысленная обработка текстового поля; пароли и подписанные данные так менять нельзя.mb_ordНазвание выглядит нормально, но сравнение не проходит: в начале может стоять не обычный пробел, а NBSP. mb_ord возвращает числовой код первого символа. Это позволяет объяснить различие, которое на экране почти незаметно.mb_output_handlerЧитатель старой складской программы должен получить понятную строку «Молоток — 8 шт.». Преобразует вывод только как зарегистрированный обработчик буфера. Сначала увидим режим pass: PHP собирает текст и передаёт его без изменения кодировки. Затем включим конверсию для старого клиента.mb_parse_strПартнёр передал поля как строку product=...&stock=... . Требуется получить название, остаток и список меток, а затем проверить данные. mb_parse_str разбирает URL-encoded запись по правилам PHP и настроенного входного профиля; это не разбор JSON и не подтверждение корректности товара.mb_preferred_mime_nameПолучить имя charset для протокольной метки.mb_regex_encodingВ старом приложении используются mb_ereg и другие функции Oniguruma. Чтобы русский шаблон находил русское название, движок должен одинаково читать шаблон и текст. mb_regex_encoding задаёт именно эту настройку; кодировка обычных mb-строк хранится отдельно.mb_regex_set_optionsОдин и тот же шаблон должен либо учитывать регистр, либо принимать «заказ» и «ЗАКАЗ». Опции задают это поведение и выбранный синтаксис mbregex. Они не совпадают с привычными флагами preg_match; особенно различается смысл m.mb_rtrimПосле копирования названия из документа вокруг слова остаются неразрывные пробелы. mb_rtrim убирает выбранные знаки справа, сохраняя содержимое поля. Сначала увидим границы строки в квадратных скобках, затем подготовим название для карточки товара. Это осмысленная обработка текстового поля; пароли и подписанные данные так менять нельзя.mb_scrubВ диагностическом сообщении повреждён один байт, из-за чего дальнейшая Unicode-обработка ломается. mb_scrub заменяет недопустимые последовательности выбранным знаком. Так можно показать место повреждения в техническом отчёте; восстановить исходную букву эта функция не может.mb_send_mailНужно подготовить уведомление «Заказ 42: Кисть» и убедиться, какие тему и тело получил почтовый транспорт. В этом опыте транспорт — свой Python-приёмник на 127.0.0.1; он только сохраняет файл и не пересылает письмо. mb_send_mail выполняет MIME-кодирование по mb_language, затем передаёт результат почтовой подсистеме PHP.mb_splitВ простом списке категорий пользователь может поставить запятую или точку с запятой. mb_split разбивает текст по regex-разделителю и возвращает массив. Когда разделитель один и буквально известен, достаточно explode; CSV с кавычками требует отдельного парсера.mb_str_padВ текстовом списке нужно дополнить русское название до восьми кодовых точек, чтобы после него поставить разделитель. Обычная str_pad считает байты; mb_str_pad работает с кодовыми точками и добавляет указанное заполнение слева, справа или с двух сторон.mb_str_splitДля подсказки в учебной игре или диагностики текста нужно пройти по отдельным буквам русского слова. mb_str_split создаёт массив групп кодовых точек. Он не ищет разделитель, как explode: размер каждой группы задаётся числом.mb_strcutСтарое устройство принимает подпись максимум в девять байтов, а название хранится в UTF-8. mb_substr ограничивает символы, поэтому здесь нужен mb_strcut: он соблюдает байтовую границу, не оставляя половину многобайтового знака. Обрезка допустима только если это разрешает задача.mb_strimwidthКолонка простого отчёта допускает шесть условных единиц ширины. Длинную подпись нужно сократить и показать две точки. mb_strimwidth учитывает и ширину знаков, и место маркера внутри общего бюджета.mb_striposВ текстовой заметке нужно найти первое упоминание метки и получить его позицию. mb_stripos считает кодовые точки, поэтому ответ можно передать в mb_substr. Регистр Unicode-букв при поиске не учитывается.mb_stristrВ подписи категории или простой служебной заметке нужно сразу получить часть текста до либо от первого совпадения. mb_stristr возвращает сам фрагмент, поэтому отдельное вычисление позиции не требуется. Поиск не зависит от регистра Unicode-букв.mb_strposВ текстовой заметке нужно найти первое упоминание метки и получить его позицию. mb_strpos считает кодовые точки, поэтому ответ можно передать в mb_substr. Регистр букв учитывается: Кисть и кисть различаются.mb_strrchrВ подписи категории или простой служебной заметке нужно сразу получить часть текста до либо от последнего совпадения. mb_strrchr возвращает сам фрагмент, поэтому отдельное вычисление позиции не требуется. Поиск учитывает регистр букв.mb_strrichrВ подписи категории или простой служебной заметке нужно сразу получить часть текста до либо от последнего совпадения. mb_strrichr возвращает сам фрагмент, поэтому отдельное вычисление позиции не требуется. Поиск не зависит от регистра Unicode-букв.mb_strriposВ текстовой заметке нужно найти последнее упоминание метки и получить его позицию. mb_strripos считает кодовые точки, поэтому ответ можно передать в mb_substr. Регистр Unicode-букв при поиске не учитывается.mb_strrposВ текстовой заметке нужно найти последнее упоминание метки и получить его позицию. mb_strrpos считает кодовые точки, поэтому ответ можно передать в mb_substr. Регистр букв учитывается: Кисть и кисть различаются.mb_strstrВ подписи категории или простой служебной заметке нужно сразу получить часть текста до либо от первого совпадения. mb_strstr возвращает сам фрагмент, поэтому отдельное вычисление позиции не требуется. Поиск учитывает регистр букв.mb_strtoupperНужно напечатать крупную подпись на складской этикетке: «Кисть» превращается в «КИСТЬ». При этом некоторые Unicode-буквы разворачиваются в несколько букв, поэтому размер готовой подписи проверяют после преобразования.mb_strwidthВ простом текстовом отчёте есть латиница и японские названия. Две кодовые точки могут занимать разные условные ширины: AB считается как 2, 東京 — как 4. mb_strwidth помогает рассчитывать такую колонку, но не измеряет пиксели страницы.mb_substitute_characterПри преобразовании строки встречается символ, которого нет в целевой кодировке. Настройка mb_substitute_character определяет, будет ли виден знак замены, код потерянного символа или вообще ничего. От этого зависит, заметит ли человек повреждение; исходную информацию подстановка не сохраняет.mb_substr_countПеред сборкой уведомления нужно узнать, сколько раз шаблон использует метку номера заказа. mb_substr_count считает неперекрывающиеся вхождения буквальной подстроки. Это не число слов и не поиск по регулярному выражению.mb_trimПосле копирования названия из документа вокруг слова остаются неразрывные пробелы. mb_trim убирает выбранные знаки с обоих краёв, сохраняя содержимое поля. Сначала увидим границы строки в квадратных скобках, затем подготовим название для карточки товара. Это осмысленная обработка текстового поля; пароли и подписанные данные так менять нельзя.mb_ucfirstСоставленная подпись начинается со строчной буквы: «заказ готов». mb_ucfirst переводит первый знак в начальную форму регистра, сохраняя остальную строку. Для русской буквы это привычная заглавная; для некоторых Unicode-диграфов начальная и полностью верхняя формы различаются.Mhash: полный справочник старого API и перенос на Hash
mhashВоспроизвести бинарный digest или HMAC старого протокола и проверить современную замену.mhash_countПолучить верхнюю границу старых числовых ID для исследования наследованного каталога.mhash_get_block_sizeУзнать длину бинарного результата старого алгоритма, например для чтения сохранённого формата.mhash_get_hash_nameПрочитать историческое имя по ID, чтобы понять старую настройку и построить явное соответствие Hash.mhash_keygen_s2kВоспроизвести ключ исторического Salted S2K формата при чтении старых данных.MySQLi: полный справочник MySQL, запросов и результатов
mysqli::$affected_rowsПрочитать число строк, затронутых последним SQL.mysqli::$client_infoУзнать строковую версию клиентской библиотеки PHP.mysqli::$client_versionПолучить числовую версию клиентской библиотеки.mysqli::$connect_errnoПрочитать диагностику последней попытки подключения.mysqli::$connect_errorПрочитать диагностику последней попытки подключения.mysqli::$errnoЧисловой код последней ошибки соединения.mysqli::$errorТекст последней ошибки SQL.mysqli::$error_listСтруктурированный список ошибок последней команды.mysqli::$field_countПрочитать количество колонок самого последнего запроса.mysqli::$host_infoУзнать хост и способ соединения.mysqli::$infoПолучить человекочитаемую сводку последнего массового изменения.mysqli::$insert_idПрочитать AUTO_INCREMENT-значение последней вставки/обновления.mysqli::$protocol_versionПрочитать версию протокола MySQL.mysqli::$server_infoУзнать строковую версию подключённого сервера.mysqli::$server_versionУзнать числовую версию подключённого сервера.mysqli::$sqlstateПятисимвольная категория SQL-ошибки.mysqli::$thread_idУзнать серверный ID текущего соединения.mysqli::$warning_countУзнать, появились ли предупреждения у последнего запроса.mysqli::__constructОткрыть соединение сайта с конкретной базой MySQL.mysqli::autocommitУправлять автоматическим подтверждением на соединении.mysqli::begin_transactionНачать согласованное изменение нескольких записей, например заказ плюс резерв товара.mysqli::change_userСменить MySQL-учётную запись и сбросить состояние соединения.mysqli::character_set_nameПрочитать текущую кодировку соединения при диагностике текста.mysqli::closeЗакончить использование соединения, когда запросов больше не будет.mysqli::commitПодтвердить все изменения текущей транзакции.mysqli::connectСоединить уже инициализированный mysqli с сервером.mysqli::debugНастроить низкоуровневую отладочную трассировку клиента MySQL.mysqli::dump_debug_infoПопросить MySQL записать сведения отладки в серверный журнал.mysqli::escape_stringЭкранировать значение для строкового SQL-литерала в существующем коде.mysqli::execute_queryКратко выполнить подготовленный запрос с отдельным списком значений.mysqli::get_charsetПолучить подробности текущего набора символов.mysqli::get_client_infoРаспознать устаревший метод сведений о клиенте.mysqli::get_connection_statsПолучить клиентские счётчики одного соединения для диагностики нагрузки.mysqli::get_server_infoПолучить серверную версию методом объекта.mysqli::get_warningsПолучить предупреждения MySQL, даже когда запрос формально успешен.mysqli::initОтделить настройку будущего соединения от его открытия.mysqli::killПонять и заменить старую административную отмену серверной сессии.mysqli::more_resultsУзнать, остались ли ещё результаты пакета.mysqli::multi_queryОтправить несколько доверенных SQL-команд и последовательно прочитать каждый результат.mysqli::next_resultПерейти к следующему набору или статусу пакета.mysqli::optionsЗадать параметры соединения и mysqlnd до открытия.mysqli::pingРаспознать историческую проверку доступности соединения.mysqli::pollОжидать готовность ранее запущенных асинхронных запросов.mysqli::prepareПолучить команду, которую можно безопасно выполнять с разными данными.mysqli::queryВыполнить один SQL-запрос и получить строки либо подтверждение действия.mysqli::quote_stringПолучить экранированный строковый SQL-литерал вместе с кавычками.mysqli::real_connectОткрыть заранее настроенное соединение, в том числе с флагами протокола.mysqli::real_escape_stringЭкранировать значение для строкового SQL-литерала в существующем коде.mysqli::real_queryОтправить один запрос, оставив выбор буферизации следующему шагу.mysqli::reap_async_queryПолучить итог запроса, запущенного с MYSQLI_ASYNC.mysqli::refreshРазобрать старый административный API сброса/перезагрузки серверного состояния.mysqli::release_savepointУдалить точку возврата, которая больше не нужна.mysqli::rollbackОтменить неподтверждённые изменения текущей транзакции.mysqli::savepointПоставить точку возврата внутри текущей транзакции.mysqli::select_dbВыбрать схему по умолчанию для последующих запросов.mysqli::set_charsetСогласовать кодировку данных между PHP и MySQL.mysqli::set_optПрочитать старый код с альтернативным именем options.mysqli::ssl_setНастроить TLS для передачи запросов и учётных данных.mysqli::statПолучить краткий системный статус MySQL.mysqli::stmt_initСоздать пустой объект подготовленной команды.mysqli::store_resultЗабрать весь набор результата real_query/multi_query в память PHP-клиента.mysqli::thread_safeУзнать, собрана ли клиентская библиотека с поддержкой потокобезопасности.mysqli::use_resultПолучить небуферизованный поток строк предыдущего запроса.mysqli_affected_rowsПрочитать число строк, затронутых последним SQL.mysqli_autocommitУправлять автоматическим подтверждением на соединении.mysqli_begin_transactionНачать согласованное изменение нескольких записей, например заказ плюс резерв товара.mysqli_change_userСменить MySQL-учётную запись и сбросить состояние соединения.mysqli_character_set_nameПрочитать текущую кодировку соединения при диагностике текста.mysqli_closeЗакончить использование соединения, когда запросов больше не будет.mysqli_commitПодтвердить все изменения текущей транзакции.mysqli_connectОткрыть соединение сайта с конкретной базой MySQL.mysqli_connect_errnoПрочитать диагностику последней попытки подключения.mysqli_connect_errorПрочитать диагностику последней попытки подключения.mysqli_data_seekПередвинуть чтение к строке уже буферизованного результата.mysqli_debugНастроить низкоуровневую отладочную трассировку клиента MySQL.mysqli_driver::$client_infoПрочитать client_info у общего драйвера.mysqli_driver::$client_versionПрочитать client_version у общего драйвера.mysqli_driver::$driver_versionПонять старый числовой номер драйвера MySQLi.mysqli_driver::$embeddedРаспознать удалённое свойство embedded.mysqli_driver::$reconnectРаспознать удалённое свойство reconnect.mysqli_driver::$report_modeЗадать, как MySQLi сообщает об отказе SQL.mysqli_driver::embedded_server_endРаспознать удалённое завершение встроенного MySQL.mysqli_driver::embedded_server_startРаспознать удалённый API запуска встроенного MySQL в старом коде.mysqli_dump_debug_infoПопросить MySQL записать сведения отладки в серверный журнал.mysqli_embedded_server_endРаспознать удалённое завершение встроенного MySQL.mysqli_embedded_server_startРаспознать удалённый API запуска встроенного MySQL в старом коде.mysqli_errnoЧисловой код последней ошибки соединения.mysqli_errorТекст последней ошибки SQL.mysqli_error_listСтруктурированный список ошибок последней команды.mysqli_escape_stringЭкранировать значение для строкового SQL-литерала в существующем коде.mysqli_executeУзнать старое имя выполнения команды при сопровождении существующего проекта.mysqli_execute_queryКратко выполнить подготовленный запрос с отдельным списком значений.mysqli_fetch_allСобрать все оставшиеся строки в массив для небольшого ответа или отчёта.mysqli_fetch_arrayВыбрать именные, числовые или оба вида ключей очередной строки.mysqli_fetch_assocИзвлечь следующую строку с именами колонок в ключах массива.mysqli_fetch_columnИзвлечь одно значение следующей строки без промежуточного массива.mysqli_fetch_fieldПрочитать описание очередной колонки набора.mysqli_fetch_field_directПолучить метаданные одной колонки по её позиции.mysqli_fetch_fieldsПолучить все описания колонок для экспорта или универсального просмотрщика.mysqli_fetch_lengthsПолучить байтовую длину значений только что прочитанной строки.mysqli_fetch_objectПревратить следующую строку в объект, когда код работает со свойствами.mysqli_fetch_rowПолучить следующую строку как список значений.mysqli_field_countПрочитать количество колонок самого последнего запроса.mysqli_field_seekИзменить позицию следующего fetch_field.mysqli_field_tellУзнать позицию последовательного чтения метаданных.mysqli_free_resultОсвободить память и ресурсы набора строк.mysqli_get_charsetПолучить подробности текущего набора символов.mysqli_get_client_infoУзнать строковую версию клиентской библиотеки PHP.mysqli_get_client_statsПрочитать общую статистику mysqlnd для процесса.mysqli_get_client_versionПолучить числовую версию клиентской библиотеки.mysqli_get_connection_statsПолучить клиентские счётчики одного соединения для диагностики нагрузки.mysqli_get_host_infoУзнать хост и способ соединения.mysqli_get_links_statsПосмотреть, сколько соединений открыто и сколько осталось в persistent-пуле.mysqli_get_proto_infoПрочитать версию протокола MySQL.mysqli_get_server_infoУзнать строковую версию подключённого сервера.mysqli_get_server_versionУзнать числовую версию подключённого сервера.mysqli_get_warningsПолучить предупреждения MySQL, даже когда запрос формально успешен.mysqli_infoПолучить человекочитаемую сводку последнего массового изменения.mysqli_initОтделить настройку будущего соединения от его открытия.mysqli_insert_idПрочитать AUTO_INCREMENT-значение последней вставки/обновления.mysqli_killПонять и заменить старую административную отмену серверной сессии.mysqli_more_resultsУзнать, остались ли ещё результаты пакета.mysqli_multi_queryОтправить несколько доверенных SQL-команд и последовательно прочитать каждый результат.mysqli_next_resultПерейти к следующему набору или статусу пакета.mysqli_num_fieldsУзнать количество колонок результата.mysqli_num_rowsУзнать количество строк текущего результата.mysqli_optionsЗадать параметры соединения и mysqlnd до открытия.mysqli_pingРаспознать историческую проверку доступности соединения.mysqli_pollОжидать готовность ранее запущенных асинхронных запросов.mysqli_prepareПолучить команду, которую можно безопасно выполнять с разными данными.mysqli_queryВыполнить один SQL-запрос и получить строки либо подтверждение действия.mysqli_quote_stringПолучить экранированный строковый SQL-литерал вместе с кавычками.mysqli_real_connectОткрыть заранее настроенное соединение, в том числе с флагами протокола.mysqli_real_escape_stringЭкранировать значение для строкового SQL-литерала в существующем коде.mysqli_real_queryОтправить один запрос, оставив выбор буферизации следующему шагу.mysqli_reap_async_queryПолучить итог запроса, запущенного с MYSQLI_ASYNC.mysqli_refreshРазобрать старый административный API сброса/перезагрузки серверного состояния.mysqli_release_savepointУдалить точку возврата, которая больше не нужна.mysqli_reportЗадать, как MySQLi сообщает об отказе SQL.mysqli_result::$current_fieldУзнать позицию последовательного чтения метаданных.mysqli_result::$field_countУзнать количество колонок результата.mysqli_result::$lengthsПолучить байтовую длину значений только что прочитанной строки.mysqli_result::$num_rowsУзнать количество строк текущего результата.mysqli_result::$typeРазличить буферизованный результат и поток.mysqli_result::__constructПолучить объект строк после отдельно отправленного SQL.mysqli_result::closeЗавершить работу с результатом: дополнительное имя free().mysqli_result::data_seekПередвинуть чтение к строке уже буферизованного результата.mysqli_result::fetch_allСобрать все оставшиеся строки в массив для небольшого ответа или отчёта.mysqli_result::fetch_arrayВыбрать именные, числовые или оба вида ключей очередной строки.mysqli_result::fetch_assocИзвлечь следующую строку с именами колонок в ключах массива.mysqli_result::fetch_columnИзвлечь одно значение следующей строки без промежуточного массива.mysqli_result::fetch_fieldПрочитать описание очередной колонки набора.mysqli_result::fetch_field_directПолучить метаданные одной колонки по её позиции.mysqli_result::fetch_fieldsПолучить все описания колонок для экспорта или универсального просмотрщика.mysqli_result::fetch_objectПревратить следующую строку в объект, когда код работает со свойствами.mysqli_result::fetch_rowПолучить следующую строку как список значений.mysqli_result::field_seekИзменить позицию следующего fetch_field.mysqli_result::freeОсвободить память и ресурсы набора строк.mysqli_result::free_resultЗавершить работу с результатом: дополнительное имя free().mysqli_result::getIteratorПолучить итератор для обхода строк стандартным foreach.mysqli_rollbackОтменить неподтверждённые изменения текущей транзакции.mysqli_savepointПоставить точку возврата внутри текущей транзакции.mysqli_select_dbВыбрать схему по умолчанию для последующих запросов.mysqli_set_charsetСогласовать кодировку данных между PHP и MySQL.mysqli_set_optПрочитать старый код с альтернативным именем options.mysqli_sql_exception::getSqlStateПолучить SQLSTATE из пойманного исключения базы.mysqli_sqlstateПятисимвольная категория SQL-ошибки.mysqli_ssl_setНастроить TLS для передачи запросов и учётных данных.mysqli_statПолучить краткий системный статус MySQL.mysqli_stmt::$affected_rowsУзнать количество изменённых, вставленных, удалённых или найденных строк.mysqli_stmt::$errnoПолучить числовой код последней ошибки statement.mysqli_stmt::$errorПолучить описание последней ошибки statement.mysqli_stmt::$error_listПолучить структурированный список ошибок команды.mysqli_stmt::$field_countУзнать число выходных колонок команды.mysqli_stmt::$insert_idПолучить AUTO_INCREMENT-ключ результата вставки.mysqli_stmt::$num_rowsУзнать число строк в буфере команды.mysqli_stmt::$param_countУзнать число входных SQL-параметров.mysqli_stmt::$sqlstateПолучить SQLSTATE последней ошибки команды.mysqli_stmt::__constructСоздать команду, хранящую SQL-шаблон и привязанные параметры.mysqli_stmt::attr_getПрочитать настройку подготовленной команды.mysqli_stmt::attr_setНастроить способ работы подготовленной команды до execute.mysqli_stmt::bind_paramСвязать параметры SQL с изменяемыми переменными PHP для повторных выполнений.mysqli_stmt::bind_resultЗадать переменные, в которые будет читаться каждая колонка результата.mysqli_stmt::closeОсвободить подготовленную команду и её ожидающие результаты.mysqli_stmt::data_seekПереместить следующий fetch к строке внутреннего буфера.mysqli_stmt::executeЗапустить уже подготовленную команду с текущими данными.mysqli_stmt::fetchПрочитать очередную строку в связанные переменные.mysqli_stmt::free_resultОсвободить внутренний результат, сохранив команду.mysqli_stmt::get_resultПолучить буферизованный объект результата подготовленного запроса.mysqli_stmt::get_warningsСнять предупреждения последней выполненной команды.mysqli_stmt::more_resultsПроверить, остались ли результаты подготовленного CALL.mysqli_stmt::next_resultПерейти к следующему ответу подготовленного CALL.mysqli_stmt::num_rowsПолучить число строк методом вместо свойства.mysqli_stmt::prepareПодготовить SQL на существующем объекте команды.mysqli_stmt::resetВернуть состояние команды к подготовленному перед новым выполнением.mysqli_stmt::result_metadataПолучить схему подготовленного результата без чтения самих строк.mysqli_stmt::send_long_dataОтправлять TEXT/BLOB частями, не собирая весь файл одной PHP-строкой.mysqli_stmt::store_resultПолучить полный набор в буфер statement для счётчика и перемотки.mysqli_stmt_affected_rowsУзнать количество изменённых, вставленных, удалённых или найденных строк.mysqli_stmt_attr_getПрочитать настройку подготовленной команды.mysqli_stmt_attr_setНастроить способ работы подготовленной команды до execute.mysqli_stmt_bind_paramСвязать параметры SQL с изменяемыми переменными PHP для повторных выполнений.mysqli_stmt_bind_resultЗадать переменные, в которые будет читаться каждая колонка результата.mysqli_stmt_closeОсвободить подготовленную команду и её ожидающие результаты.mysqli_stmt_data_seekПереместить следующий fetch к строке внутреннего буфера.mysqli_stmt_errnoПолучить числовой код последней ошибки statement.mysqli_stmt_errorПолучить описание последней ошибки statement.mysqli_stmt_error_listПолучить структурированный список ошибок команды.mysqli_stmt_executeЗапустить уже подготовленную команду с текущими данными.mysqli_stmt_fetchПрочитать очередную строку в связанные переменные.mysqli_stmt_field_countУзнать число выходных колонок команды.mysqli_stmt_free_resultОсвободить внутренний результат, сохранив команду.mysqli_stmt_get_resultПолучить буферизованный объект результата подготовленного запроса.mysqli_stmt_get_warningsСнять предупреждения последней выполненной команды.mysqli_stmt_initСоздать пустой объект подготовленной команды.mysqli_stmt_insert_idПолучить AUTO_INCREMENT-ключ результата вставки.mysqli_stmt_more_resultsПроверить, остались ли результаты подготовленного CALL.mysqli_stmt_next_resultПерейти к следующему ответу подготовленного CALL.mysqli_stmt_num_rowsУзнать число строк в буфере команды.mysqli_stmt_param_countУзнать число входных SQL-параметров.mysqli_stmt_prepareПодготовить SQL на существующем объекте команды.mysqli_stmt_resetВернуть состояние команды к подготовленному перед новым выполнением.mysqli_stmt_result_metadataПолучить схему подготовленного результата без чтения самих строк.mysqli_stmt_send_long_dataОтправлять TEXT/BLOB частями, не собирая весь файл одной PHP-строкой.mysqli_stmt_sqlstateПолучить SQLSTATE последней ошибки команды.mysqli_stmt_store_resultПолучить полный набор в буфер statement для счётчика и перемотки.mysqli_store_resultЗабрать весь набор результата real_query/multi_query в память PHP-клиента.mysqli_thread_idУзнать серверный ID текущего соединения.mysqli_thread_safeУзнать, собрана ли клиентская библиотека с поддержкой потокобезопасности.mysqli_use_resultПолучить небуферизованный поток строк предыдущего запроса.mysqli_warning::$errnoПрочитать errno текущего предупреждения.mysqli_warning::$messageПрочитать message текущего предупреждения.mysqli_warning::$sqlstateПрочитать sqlstate текущего предупреждения.mysqli_warning::__constructПонять, откуда берётся объект предупреждения.mysqli_warning::nextПрочитать следующее предупреждение уже полученного списка.mysqli_warning_countУзнать, появились ли предупреждения у последнего запроса.Многомерные массивы: от списка внутри списка до обхода неизвестной глубины
Сеть: IP, DNS, HTTP, cookies, сокеты и системный журнал
checkdnsrrПроверить наличие DNS-записей указанного типа, не загружая их содержимое в приложение.closelogОсвободить соединение/состояние системного logger после законченного блока работы.dns_check_recordПроверить наличие DNS-записей указанного типа, не загружая их содержимое в приложение.dns_get_mxПолучить имена почтовых обменников и их приоритеты для диагностики домена.dns_get_recordПолучить структурированные DNS-записи: адреса, почтовые серверы, TXT и другие данные для технического инструмента.fsockopenОткрыть канал к сервису по TCP/UDP или поддерживаемому Unix-транспорту, когда нужен протокол на уровне потоков.gethostbyaddrНайти обратное имя по IP, чтобы дополнить технический журнал понятным обозначением узла.gethostbynameПолучить один IPv4 для имени сервера: полезно в диагностике, но результат нужно отличать от исходного имени при отказе.gethostbynamelПолучить список IPv4 одного имени, например для диагностической панели с несколькими A-записями.gethostnameУзнать имя машины, выполняющей PHP, например для внутренней диагностики нескольких обработчиков очереди.getmxrrПолучить имена почтовых обменников и их приоритеты для диагностики домена.getprotobynameУзнать номер сетевого протокола из локального справочника ОС.getprotobynumberПодписать известный номер протокола именем из базы ОС.getservbynameУзнать стандартный порт службы по имени и транспортному протоколу.getservbyportПодписать номер порта справочным именем службы, не утверждая, что именно она работает.header_register_callbackВыполнить завершающую настройку заголовков непосредственно перед их отправкой.header_removeУдалить ошибочно подготовленный заголовок до отправки ответа клиенту.headers_listПосмотреть исходящие заголовки текущего PHP-ответа при диагностике обработчика.http_clear_last_response_headersОчистить сохранённые заголовки исходящего HTTP-wrapper, чтобы не принять старый ответ за новый.http_get_last_response_headersПрочитать заголовки последнего ответа, полученного PHP HTTP-wrapper при исходящем запросе.inet_ntopПоказать человеку адрес, сохранённый в четырёх или шестнадцати бинарных байтах.inet_ptonПеревести текстовый IPv4/IPv6 в компактные байты, например для точного сравнения или хранения.ip2longПредставить IPv4 целым числом для старого формата данных, учитывая разрядность PHP.long2ipВосстановить текст IPv4 из числового представления старого хранилища.net_get_interfacesПолучить сведения о сетевых адаптерах текущей машины для закрытой диагностики.openlogЗадать имя приложения и параметры для последующих записей в системный журнал.pfsockopenПопросить PHP сохранить соединение между запросами одного рабочего процесса, если протокол допускает безопасное повторное использование.request_parse_bodyРазобрать поля и файлы multipart/URL-encoded запроса PUT/PATCH, для которого PHP не заполняет $_POST автоматически.setrawcookieОтправить заранее допустимое значение cookie без дополнительного URL-кодирования, если формат задаёт внешний протокол.socket_get_statusПрочитать метаданные stream-сокета: например, отличить таймаут ожидания от завершения потока.socket_set_blockingПереключить ожидание I/O stream-сокета: ждать данные либо вернуться сразу и управлять готовностью отдельно.socket_set_timeoutПонять старое имя настройки timeout stream и перейти на stream_set_timeout в новом коде.syslogОтправить короткое событие приложения в системный журнал с уровнем важности.OPcache: кеш PHP-кода, прогрев, обновление, preload и JIT
opcache_compile_fileСкомпилировать файл для прогрева без исполнения его тела.opcache_get_configurationПолучить настройки, версию и список исключений OPcache.opcache_get_statusПосмотреть состояние памяти, статистику и при необходимости скрипты.opcache_invalidateИнвалидировать подготовленный код одного файла.opcache_is_script_cachedПроверить наличие скрипта именно в кеше памяти.opcache_is_script_cached_in_file_cacheПроверить подготовленную запись скрипта в файловом кеше.opcache_jit_blacklistИсключить функцию из дальнейшей tracing-JIT компиляции.opcache_resetЗапросить сброс всего кеша памяти текущего экземпляра.OpenSSL: подписи, ключи, сертификаты и защищённые файлы
openssl_cipher_iv_lengthУзнать требуемый размер IV до генерации случайных байтов.openssl_cipher_key_lengthУзнать требуемый размер ключ до генерации случайных байтов.openssl_cms_decryptВосстановить локально документ, зашифрованный для этого получателя.openssl_cms_encryptЗашифровать документ для владельца известного сертификата.openssl_cms_readИзвлечь публичные сертификаты из CMS для отдельного анализа.openssl_cms_signВыпустить подписанный файл накладной в CMS.openssl_cms_verifyПолучить текст накладной, подпись которого проверена относительно выбранного CA.openssl_csr_exportПередать запрос на сертификат в PEM-формате через строку.openssl_csr_export_to_fileПередать запрос на сертификат в PEM-формате через файл.openssl_csr_get_public_keyИзвлечь из заявки открытую часть для сопоставления с документами заявителя.openssl_csr_get_subjectПрочитать заявленное имя и организацию перед обработкой CSR.openssl_csr_newПодготовить запрос на сертификат с собственной открытой частью и заявленным именем.openssl_csr_signПревратить разрешённую заявку в сертификат с заданным издателем, сроком и серийным номером.openssl_decryptПолучить исходное сообщение только после успешной проверки согласованного AEAD-пакета.openssl_dh_compute_keyПрочитать старое сообщение, где открытая DH-компонента передана отдельным числом.openssl_digestПосчитать отпечаток файла и заметить изменение при сверке с известным манифестом.openssl_encryptСкрыть содержимое сообщения и получить данные для проверки целостности у получателя.openssl_error_stringСвязать диагностику OpenSSL с той попыткой, которая действительно отказала.openssl_free_keyПеренести старый код с ресурсами OpenSSL на автоматическое время жизни объектов PHP 8.openssl_get_cert_locationsНайти, откуда PHP/OpenSSL берёт сведения о расположении доверенных CA.openssl_get_cipher_methodsПеред обработкой файла сопоставить согласованные шифры с возможностями установленной библиотеки.openssl_get_curve_namesПроверить, может ли сервер создать EC-ключ формата партнёра.openssl_get_md_methodsПеред обработкой файла сопоставить согласованные дайджесты с возможностями установленной библиотеки.openssl_get_privatekeyОткрыть сохранённый закрытый ключ для подписи.openssl_get_publickeyПодготовить известный открытый ключ к проверке документов.openssl_openВосстановить документ своим ключом конверта.openssl_password_hashПодготовить хранимое проверочное значение пароля через OpenSSL Argon2.openssl_password_verifyПроверить введённый пароль через выбранный OpenSSL Argon2.openssl_pbkdf2Преобразовать пароль в ключ согласованного формата, вместо прямой передачи короткого пароля в AES.openssl_pkcs12_exportПодготовить перенос ключа и сертификата в бинарную строку PKCS#12.openssl_pkcs12_export_to_fileПодготовить перенос ключа и сертификата в файл PKCS#12.openssl_pkcs12_readИзвлечь ключ и сертификат из полученного контейнера без вывода секрета.openssl_pkcs7_decryptВосстановить локально документ, зашифрованный для этого получателя.openssl_pkcs7_encryptЗашифровать документ для владельца известного сертификата.openssl_pkcs7_readИзвлечь публичные сертификаты из PKCS7 для отдельного анализа.openssl_pkcs7_signВыпустить подписанный файл накладной в S/MIME.openssl_pkcs7_verifyПолучить текст накладной, подпись которого проверена относительно выбранного CA.openssl_pkey_deriveСогласовать общий секрет из чужого открытого и собственного закрытого ключа DH/ECDH.openssl_pkey_exportПолучить PEM-представление закрытого ключа для защищённого хранения.openssl_pkey_export_to_fileСохранить закрытый ключ в отдельный PEM-файл для следующего запуска.openssl_pkey_freeПеренести старый код с ресурсами OpenSSL на автоматическое время жизни объектов PHP 8.openssl_pkey_get_detailsПолучить открытую часть и параметры ключа для настройки получателя.openssl_pkey_get_privateОткрыть сохранённый закрытый ключ для подписи.openssl_pkey_get_publicПодготовить известный открытый ключ к проверке документов.openssl_pkey_newСоздать новую ключевую пару для подписи документов отдельного издателя.openssl_private_decryptПолучить исходное короткое сообщение, адресованное владельцу ключа.openssl_private_encryptОбслужить старый формат, где RSA-операция выполняется закрытым ключом.openssl_public_decryptОбслужить старый формат, где RSA-операция читается открытым ключом.openssl_public_encryptПолучить RSA-блок для получателя с известным открытым ключом.openssl_random_pseudo_bytesПолучить непредсказуемые байты для ключа или непрозрачного идентификатора.openssl_sealПодготовить одинаковый документ нескольким владельцам ключей.openssl_signСнабдить выгрузку подписью, чтобы получатель заметил изменение и проверил известный ключ поставщика.openssl_spki_exportИзвлечь открытый PEM для следующей проверки подписи.openssl_spki_export_challengeУзнать, к какой регистрации относится запрос.openssl_spki_newПодготовить запрос регистрации для системы, которая требует SPKAC.openssl_spki_verifyПроверить целостность подписанного запроса регистрации.openssl_verifyРешить, принять ли файл от владельца заранее известного открытого ключа.openssl_x509_check_private_keyВыявить несоответствие ключа и сертификата в настройках сервиса.openssl_x509_checkpurposeПроверить, допускает ли доверенная цепочка использование сертификата для нужной роли.openssl_x509_exportПодготовить сертификат в PEM для передачи строкой.openssl_x509_export_to_fileПодготовить сертификат в PEM для отдельного файла.openssl_x509_fingerprintСверить конкретный сертификат с отпечатком, полученным по доверенному каналу.openssl_x509_freeУбрать из старого кода предположение о ручном закрытии сертификата-ресурса.openssl_x509_parseПоказать имя, издателя, назначение и срок сертификата перед диагностикой подключения.openssl_x509_readПревратить PEM-сертификат в объект для чтения полей и дальнейших проверок.openssl_x509_verifyПроверить, каким известным ключом подписан сертификат.ob_start: шаблоны, вложенные буферы и отправка ответа
flushПопросить PHP/SAPI передать системный вывод дальше, понимая границы этой просьбы.ob_cleanСтереть ещё накопленный фрагмент и продолжить печатать в тот же буфер.ob_end_cleanОтменить ещё не переданный фрагмент и закрыть принадлежащий вам активный буфер.ob_end_flushПередать окончательный обработанный фрагмент дальше и закрыть активный уровень.ob_flushПередать подготовленную порцию дальше и оставить активный буфер для следующей.ob_get_cleanЗавершить захват шаблона: забрать исходный текст в переменную и закрыть буфер.ob_get_contentsПолучить снимок исходного активного буфера, сохранив сам буфер и его содержимое.ob_get_levelУзнать число активных уровней, чтобы сохранить границу владения буферами.ob_startПерехватить вывод печатающего шаблона, чтобы получить его как строку или обработать на одной границе.Управление выводом: буферы, обработчики и отправка ответа
ob_get_flushЗавершить буфер с отправкой результата handler и одновременно получить снимок его исходного текста.ob_get_lengthПроверить количество накопленных байтов без получения копии текста.ob_get_statusУвидеть стек и состояние обработки, отличив занятые байты от порога и выделенной памяти.ob_implicit_flushВключить или выключить автоматические системные flush после печати, сохранив ясную политику приложения.ob_list_handlersУзнать, какие обработчики участвуют в цепочке, и найти лишний уровень при диагностике.output_add_rewrite_varДополнить ссылки/формы старого HTML-шаблона несекретной парой на ступени URL-Rewriter.output_reset_rewrite_varsУбрать зарегистрированные rewrite-пары, сохранив живой обработчик для следующих фрагментов.Хеширование паролей: полный справочник password_*
PCNTL: процессы, сигналы, ожидание, CPU и изоляция Unix
Pcntl\QosClassПять именованных классов важности для планирования задач Apple.pcntl_alarmПоставить процессу однократное уведомление SIGALRM, например как вспомогательный сигнал остановки короткого job.pcntl_async_signalsВключить вызов подготовленных обработчиков без постоянного ручного dispatch в цикле.pcntl_errnoИспользовать краткий alias get_last_error при сопровождении существующего worker.pcntl_execЗаменить текущий одноразовый PHP процесс другой программой, когда launcher закончил подготовку.pcntl_forkРазделить обработку независимых заданий на разные процессы: родитель организует работу, ребёнок выполняет своё задание.pcntl_forkxНа Solaris/illumos создать дочерний процесс с особым правилом получения его завершения.pcntl_get_last_errorПосле отказа PCNTL узнать числовую причину и выбрать осмысленную ветку восстановления.pcntl_getcpuДиагностически узнать логический CPU, на котором выполняется текущий поток в момент измерения.pcntl_getcpuaffinityУзнать, на каких логических CPU вообще разрешено запускать worker внутри контейнера или сервера.pcntl_getpriorityУзнать nice value импортёра, когда он конкурирует с другими задачами за процессор.pcntl_getqos_classПрочитать класс важности текущего потока на Apple перед временной настройкой длительной задачи.pcntl_rforkНа BSD выбрать особенности создания дочернего процесса и наследования его descriptor table.pcntl_setcpuaffinityВ контролируемом измерении оставить worker на выбранном разрешённом логическом CPU.pcntl_setnsВ отдельном служебном процессе войти в существующее namespace окружение известного собственного процесса.pcntl_setpriorityСделать отдельный пакетный импорт менее приоритетным, чтобы он меньше мешал интерактивной работе.pcntl_setqos_classПометить отдельный длительный импорт как Utility или обслуживание как Background, чтобы ОС могла выбирать компромисс ресурсов.pcntl_signalНаучить worker реагировать на просьбу завершиться или обновить настройки, не теряя текущую короткую операцию.pcntl_signal_dispatchВыбрать явную точку, где программа обрабатывает накопленные сигналы.pcntl_signal_get_handlerСохранить прежнюю реакцию на сигнал перед временной настройкой и затем восстановить её.pcntl_sigprocmaskВременно отложить доставку выбранных сигналов либо подготовить их синхронное ожидание.pcntl_sigtimedwaitЖдать уведомление ограниченное время, чтобы worker мог проверить остановку или deadline.pcntl_sigwaitinfoДождаться конкретного уведомления в последовательном CLI протоколе, получив номер сигнала и его описание.pcntl_strerrorПревратить сохранённый системный код в читаемое пояснение журнала.pcntl_unshareОтделить выбранную часть Linux окружения одноразового worker, когда проекту действительно нужны namespaces.pcntl_waitСобрать ближайшее завершение одного из своих детей, когда конкретный PID заранее не нужен.pcntl_waitidПолучить структурированное событие ребёнка — завершение, остановку или продолжение — вместо упакованного status.pcntl_waitpidДождаться своего worker и понять, как он закончился, не оставляя zombie запись.pcntl_wexitstatusДостать маленький код результата job после обычного завершения ребёнка.pcntl_wifcontinuedУзнать событие возобновления ранее остановленного worker.pcntl_wifexitedОтделить обычный exit ребёнка от завершения сигналом, прежде чем извлекать прикладной код.pcntl_wifsignaledУвидеть, что worker был завершён сигналом, а не вернул код ошибки через exit.pcntl_wifstoppedОтличить временно остановленного ребёнка от завершённого: ему ещё может понадобиться SIGCONT.pcntl_wstopsigПоказать причину остановки worker, чтобы отличить job control от завершения.pcntl_wtermsigУказать в диагностике, какой сигнал прекратил worker.PCRE: от первого правила до полного справочника preg_*
preg_filterОбновить только подходящие строки каталога и получить список затронутых записей.preg_grepОтобрать допустимые коды из списка и сохранить связь с исходными ключами.preg_last_errorОтличить повреждённый UTF-8 и исчерпание ресурса от нормального ответа «не найдено».preg_last_error_msgПолучить понятную диагностическую строку для разработчика, сохранив машинный код отдельно.preg_match_allСобрать все коды товаров из заметки, сохранив порядок появления.preg_quoteВставить название товара в шаблон как буквальный текст, даже если в нём есть точки, скобки и +.preg_replace_callbackВычислить замену для каждого совпадения: увеличить число или подставить буквальную цену из данных.preg_replace_callback_arrayЗадать отдельное действие каждому типу метки в одном последовательном конвейере.PDO: полный справочник, драйверы и работа с данными
PDO::connectСоздать соединение с драйверным подклассом, если он предоставлен расширением.PDO::cubrid_schemaПолучить метаданные схемы CUBRID: ключи, колонки, связи и права.PDO::errorCodeПолучить SQLSTATE последней операции соединения.PDO::errorInfoПолучить подробности SQL-ошибки для технической диагностики.PDO::getAttributeПрочитать настройку соединения или сведения драйвера.PDO::getAvailableDriversПолучить имена доступных в текущем процессе PDO-драйверов.PDO::lastInsertIdПолучить созданный идентификатор или значение последовательности на данном соединении.PDO::pgsqlCopyFromArrayБыстро передать пакет записей PostgreSQL через протокол COPY. Историческое имя.PDO::pgsqlCopyFromFileЗагрузить подготовленный локальный файл в таблицу PostgreSQL. Историческое имя.PDO::pgsqlCopyToArrayВыгрузить таблицу как массив строк PostgreSQL COPY text. Историческое имя.PDO::pgsqlCopyToFileЭкспортировать COPY text в локальный файл без массива всех строк. Историческое имя.PDO::pgsqlGetNotifyПолучить ожидающее асинхронное уведомление PostgreSQL. Историческое имя.PDO::pgsqlGetPidУзнать PID серверного процесса, обслуживающего соединение PostgreSQL. Историческое имя.PDO::pgsqlLOBCreateСоздать PostgreSQL large object и получить его OID. Историческое имя.PDO::pgsqlLOBOpenОткрыть поток к существующему large object PostgreSQL. Историческое имя.PDO::pgsqlLOBUnlinkУдалить PostgreSQL large object, когда закончился его жизненный цикл. Историческое имя.PDO::quoteПолучить строковый SQL-литерал для редкого случая ручной сборки доверенного запроса.PDO::setAttributeНастроить выдачу и поведение соединения под договор приложения.PDO::sqliteCreateAggregateВычислить собственный итог по нескольким строкам SQLite.PDO::sqliteCreateCollationЗадать собственное сравнение строк для COLLATE в SQLite.PDO::sqliteCreateFunctionДобавить в SQLite скалярную функцию, реализованную PHP-кодом.Pdo\Firebird::getApiVersionУзнать версию Firebird API, на которой собран PDO-драйвер.Pdo\Mysql::getWarningCountУзнать, оставил ли последний MySQL-запрос предупреждения.Pdo\Pgsql::copyFromArrayБыстро передать пакет записей PostgreSQL через протокол COPY.Pdo\Pgsql::copyFromFileЗагрузить подготовленный локальный файл в таблицу PostgreSQL.Pdo\Pgsql::copyToArrayВыгрузить таблицу как массив строк PostgreSQL COPY text.Pdo\Pgsql::copyToFileЭкспортировать COPY text в локальный файл без массива всех строк.Pdo\Pgsql::escapeIdentifierЗаписать PostgreSQL-идентификатор с правильными кавычками и регистром.Pdo\Pgsql::getNotifyПолучить ожидающее асинхронное уведомление PostgreSQL.Pdo\Pgsql::getPidУзнать PID серверного процесса, обслуживающего соединение PostgreSQL.Pdo\Pgsql::lobCreateСоздать PostgreSQL large object и получить его OID.Pdo\Pgsql::lobOpenОткрыть поток к существующему large object PostgreSQL.Pdo\Pgsql::lobUnlinkУдалить PostgreSQL large object, когда закончился его жизненный цикл.Pdo\Pgsql::setNoticeCallbackПолучать серверные NOTICE/WARNING PostgreSQL в своём обработчике.Pdo\Sqlite::createAggregateВычислить собственный итог по нескольким строкам SQLite.Pdo\Sqlite::createCollationЗадать собственное сравнение строк для COLLATE в SQLite.Pdo\Sqlite::createFunctionДобавить в SQLite скалярную функцию, реализованную PHP-кодом.Pdo\Sqlite::loadExtensionПодключить установленное доверенное нативное расширение SQLite, когда его возможностей нет в базовой сборке.Pdo\Sqlite::openBlobПолучить поток к конкретному BLOB SQLite для чтения или изменения по частям.Pdo\Sqlite::setAuthorizerОграничить действия SQL при подготовке команд SQLite.pdo_driversПолучить имена доступных в текущем процессе PDO-драйверов.PDOStatement::bindColumnСвязать столбец результата с переменной PHP, которую будет обновлять чтение.PDOStatement::columnCountУзнать, сколько столбцов имеет текущий набор результата.PDOStatement::debugDumpParamsПосмотреть SQL-шаблон и существующие привязки во время локальной отладки.PDOStatement::errorCodeПолучить SQLSTATE последней операции данного statement.PDOStatement::errorInfoПолучить подробности SQL-ошибки для технической диагностики.PDOStatement::fetchObjectПрочитать одну строку как stdClass либо заданный класс представления.PDOStatement::getAttributeПрочитать драйверную характеристику команды и её результата.PDOStatement::getColumnMetaПолучить метаданные конкретной колонки текущей выдачи.PDOStatement::getIteratorПередать чтение строк инструментам работы с итераторами.PDOStatement::nextRowsetПерейти к следующему набору строк, возвращённому процедурой или составной командой.PDOStatement::setAttributeИзменить драйверную настройку конкретного statement.PDOStatement::setFetchModeВыбрать форму строк по умолчанию для данного результата.Производительность: измерения, память и медленные подходы
Phar, PharData и PharFileInfo: документы и PHP-приложения
Phar::__constructPhar::__construct — Создаёт объект Phar-архиваPhar::__destructPhar::__destruct — Уничтожает объект архива PharPhar::addEmptyDirPhar::addEmptyDir — Добавляет в phar-архив пустую директориюPhar::addFilePhar::addFile — Добавляет в phar-архив файл из файловой системыPhar::addFromStringPhar::addFromString — Добавляет в phar-архив файл из строкиPhar::apiVersionPhar::apiVersion — Возвращает версию APIPhar::buildFromDirectoryPhar::buildFromDirectory — Создаёт phar-архив из файлов, расположенных внутри директорииPhar::buildFromIteratorPhar::buildFromIterator — Создаёт phar-архив из итератораPhar::canCompressPhar::canCompress — Проверяет, поддерживает ли модуль phar сжатие с использованием zlib или bzip2Phar::canWritePhar::canWrite — Проверяет, поддерживает ли модуль phar сохранение и создание phar-архивовPhar::compressPhar::compress — Сжимает весь Phar-архив с помощью Gzip- или Bzip2-сжатияPhar::compressFilesPhar::compressFiles — Сжимает все файлы в текущем Phar-архивеPhar::convertToDataPhar::convertToData — Конвертирует phar-архив в неисполняемый tar- или zip-файлPhar::convertToExecutablePhar::convertToExecutable — Конвертирует phar-архив в другой исполняемый формат файлаPhar::copyPhar::copy — Копирует файл внутри phar-архива в новый файл внутри phar-архиваPhar::countPhar::count — Возвращает количество записей (файлов) в Phar-архивеPhar::createDefaultStubPhar::createDefaultStub — Создать заглушку в формате phar-архиваPhar::decompressPhar::decompress — Распаковывает весь Phar-архивPhar::decompressFilesPhar::decompressFiles — Распаковывает все файлы в текущем Phar-архивеPhar::deletePhar::delete — Удаляет файл в phar-архивеPhar::delMetadataPhar::delMetadata — Удаляет глобальные метаданные в phar-архивеPhar::extractToPhar::extractTo — Извлечь содержимое phar-архива в директориюPhar::getAliasPhar::getAlias — Получить псевдоним для PharPhar::getMetadataPhar::getMetadata — Извлечь метаданные phar-архиваPhar::getModifiedPhar::getModified — Определить, изменялся phar-архивPhar::getPathPhar::getPath — Получить реальный путь к Phar-архиву на дискеPhar::getSignaturePhar::getSignature — Получить MD5/SHA1/SHA256/SHA512/OpenSSL подпись Phar-архиваPhar::getStubPhar::getStub — Получить загрузчик PHP или загрузчик заглушки Phar-архиваPhar::getSupportedCompressionPhar::getSupportedCompression — Возвращает массив поддерживаемых алгоритмов сжатияPhar::getSupportedSignaturesPhar::getSupportedSignatures — Получить массив поддерживаемых алгоритмов подписи архиваPhar::getVersionPhar::getVersion — Получить версию Phar-архиваPhar::hasMetadataPhar::hasMetadata — Проверить, содержит ли phar-архив глобальные метаданныеPhar::interceptFileFuncsPhar::interceptFileFuncs — Указывает phar перехватывать fopen, file_get_contents, opendir и все stat-функцииPhar::isBufferingPhar::isBuffering — Проверить, будут ли операции с Phar-архивом буферизованы или записаны напрямую на дискPhar::isCompressedPhar::isCompressed — Возвращает Phar::GZ или PHAR::BZ2, если phar-архив сжат целиком (.tar.gz/tar.bz и так далее)Phar::isFileFormatPhar::isFileFormat — Проверить, что phar-архив имеет заданный формат (tar/phar/zip)Phar::isValidPharFilenamePhar::isValidPharFilename — Проверяет, что заданное имя файла является корректным именем phar-архиваPhar::isWritablePhar::isWritable — Проверяет, можно ли модифицировать phar-архивPhar::loadPharPhar::loadPhar — Загрузить phar-архив с псевдонимомPhar::mapPharPhar::mapPhar — Прочитать текущий запущенный phar-архив и зарегистрировать его манифестPhar::mountPhar::mount — Монтирование внешнего путь или файла к виртуальному пути в phar-архивеPhar::mungServerPhar::mungServer — Определить список до четырёх $_SERVER-переменных, которые должны быть изменены для запускаPhar::offsetExistsPhar::offsetExists — Определить, есть ли файл в архивеPhar::offsetGetPhar::offsetGet — Получить объект PharFileInfo для конкретного файлаPhar::offsetSetPhar::offsetSet — Изменение содержимого файлаPhar::offsetUnsetPhar::offsetUnset — Удалить файл из phar-архиваPhar::runningPhar::running — Получить полный путь на диске, либо полный URL запущенного Phar-архиваPhar::setAliasPhar::setAlias — Установить псевдоним для Phar-архиваPhar::setDefaultStubPhar::setDefaultStub — Установить загрузчик PHP или начальную заглушку Phar-архива в загрузчик по умолчаниюPhar::setMetadataPhar::setMetadata — Установить метаданные phar-архиваPhar::setSignatureAlgorithmPhar::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение егоPhar::setStubPhar::setStub — Устанавливает в Phar-архив заглушку, которая играет роль начального загрузчика PHPPhar::startBufferingPhar::startBuffering — Запускает буферизацию операций записи, отключая запись изменений Phar-архива на дискPhar::stopBufferingPhar::stopBuffering — Останавливает буферизацию и записывает все изменения на дискPhar::unlinkArchivePhar::unlinkArchive — Удаляет архив из памяти и с дискаPhar::webPharPhar::webPhar — Направляет запрос из браузера во внутренний файл в phar-архивеPharData::__constructPharData::__construct — Конструктор объекта PharDataPharData::__destructPharData::__destruct — Уничтожает неисполняемый объект архива tar или zipPharData::addEmptyDirPharData::addEmptyDir — Добавить пустую директорию в tar/zip-архивPharData::addFilePharData::addFile — Добавить существующие файлы к tar/zip-архивуPharData::addFromStringPharData::addFromString — Добавляет файл из строки в архив tar/zipPharData::buildFromDirectoryPharData::buildFromDirectory — Создаёт tar/zip-архив из файлов в директорииPharData::buildFromIteratorPharData::buildFromIterator — Создание tar/zip-архива с помощью итератораPharData::compressPharData::compress — Сжимает весь архив tar/zip, используя сжатие Gzip или Bzip2PharData::compressFilesPharData::compressFiles — Сжать все файлы в текущем tar/zip-архивеPharData::convertToDataPharData::convertToData — Конвертация phar-архива в незапускаемый tar/zip-архивPharData::convertToExecutablePharData::convertToExecutable — Конвертация tar/zip-архива с данными в запускаемый phar-архивPharData::copyPharData::copy — Копирует файл внутри tar- или zip-архива в новый файл внутри того же архиваPharData::decompressPharData::decompress — Распаковать весь Phar-архивPharData::decompressFilesPharData::decompressFiles — Распаковывает все файлы в текущем zip-архивеPharData::deletePharData::delete — Удаляет файл в tar- или zip-архивеPharData::delMetadataPharData::delMetadata — Удаляет глобальные метаданные zip-архиваPharData::extractToPharData::extractTo — Извлечь содержимое tar/zip-архива в директориюPharData::isWritablePharData::isWritable — Проверить, можно ли модифицировать tar/zip-архивPharData::offsetSetPharData::offsetSet — Изменение содержимого файлаPharData::offsetUnsetPharData::offsetUnset — Удалить файл из tar/zip-архиваPharData::setAliasPharData::setAlias — Функция заглушка (Phar::setAlias нельзя использовать для PharData)PharData::setDefaultStubPharData::setDefaultStub — Функция заглушка (Phar::setDefaultStub нельзя использовать для PharData)PharData::setMetadataPharData::setMetadata — Установить метаданные phar-архиваPharData::setSignatureAlgorithmPharData::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение егоPharData::setStubPharData::setStub — Функция-пустышка: метод setStub допустим только для объектов Phar, но не PharDataPharFileInfo::__constructPharFileInfo::__construct — Конструктор объекта PharFileInfoPharFileInfo::__destructPharFileInfo::__destruct — Уничтожает входной объект PharPharFileInfo::chmodPharFileInfo::chmod — Установка прав доступаPharFileInfo::compressPharFileInfo::compress — Сжимает текущий файл методом zlib или bzip2PharFileInfo::decompressPharFileInfo::decompress — Распаковывает Phar-файл в phar-архивеPharFileInfo::delMetadataPharFileInfo::delMetadata — Удаляет метаданные отдельного файла в архивеPharFileInfo::getCompressedSizePharFileInfo::getCompressedSize — Получить реальный занимаемый файлом размер на диске с учётом сжатияPharFileInfo::getContentPharFileInfo::getContent — Получить полное содержимое файла записиPharFileInfo::getCRC32PharFileInfo::getCRC32 — Получить контрольную сумму CRC32PharFileInfo::getMetadataPharFileInfo::getMetadata — Получить метаданные, связанные с файломPharFileInfo::getPharFlagsPharFileInfo::getPharFlags — Получить флаги файла в phar-архивеPharFileInfo::hasMetadataPharFileInfo::hasMetadata — Проверить, есть ли у файла метаданныеPharFileInfo::isCompressedPharFileInfo::isCompressed — Проверить, сжат ли файлPharFileInfo::isCRCCheckedPharFileInfo::isCRCChecked — Определить, прошёл ли файл проверку CRCPharFileInfo::setMetadataPharFileInfo::setMetadata — Установка метаданных для конкретного файлаPOSIX: процессы, пользователи, права, терминалы и лимиты Unix
posix_accessДиагностировать доступ к файлу с реальными UID/GID процесса, например при разборе привилегированного launcher.posix_ctermidПолучить системный путь к управляющему терминалу процесса, отличая его от конкретного устройства STDOUT.posix_eaccessПроверить доступ с действующими effective UID/GID, когда выясняем права работающего worker.posix_errnoПрочитать тот же POSIX код ошибки под коротким историческим именем.posix_fpathconfПрочитать системный предел через уже открытый дескриптор вместо повторного разрешения пути.posix_get_last_errorСохранить номер отказа POSIX сразу после операции, чтобы журнал объяснил причину.posix_getcwdПонять, почему относительный путь cron job указывает не туда, куда ожидал разработчик.posix_getegidУзнать текущую основную группу, участвующую в проверке прав процесса.posix_geteuidПонять, с чьими текущими правами работает импорт каталога и почему ему отказано в записи.posix_getgidПрочитать реальный основной GID процесса при разборе прав сервисной учётной записи.posix_getgrgidПодписать числовые группы процесса человекочитаемыми именами в локальном отчёте.posix_getgrnamПолучить номер настроенной группы каталога по понятному имени.posix_getgroupsПосмотреть дополнительные группы уже работающего импортёра: почему новое членство из настроек ОС ещё не действует.posix_getloginПолучить имя терминального входа для локальной CLI диагностики, понимая, почему в cron оно часто недоступно.posix_getpgidПолучить PGID заданного процесса для диагностики собственного дерева worker.posix_getpgrpУзнать группу процессов своего job: терминал и supervisor могут управлять группой целиком.posix_getpidДобавить номер worker к журналу, чтобы отличать одновременно работающие импорты.posix_getppidУвидеть, какой процесс сейчас считается родителем PHP worker, при разборе запуска cron/supervisor.posix_getpwnamНайти заранее настроенную сервисную учётную запись по имени перед запуском фонового задания.posix_getpwuidПреобразовать числовой UID worker в понятное имя и получить профиль системной учётной записи.posix_getrlimitПонять отказ открытия новых файлов или запуска задач до того, как увеличивать PHP memory_limit наугад.posix_getsidПосмотреть принадлежность процесса к Unix сеансу, например после запуска через менеджер служб.posix_getuidУзнать реальный UID процесса: под какой исходной системной идентичностью запущен обработчик. Это число ОС, не ID покупателя из базы сайта.posix_initgroupsНазначить процессу дополнительные группы выбранной учётной записи при подготовке отдельного worker.posix_isattyВыбрать формат CLI отчёта: удобный для человека в терминале или чистый текст при перенаправлении в файл.posix_killПередать сигнал собственному управляемому worker или проверить возможность отправки без фактического сигнала.posix_mkfifoСоздать именованный канал для обмена байтами между своими локальными процессами.posix_mknodСоздать специальный файловый узел, когда системная интеграция действительно требует типа FIFO/устройства.posix_pathconfПроверить предел имени файла на той файловой системе, куда сохраняется экспорт.posix_setegidИзменить эффективную основную группу процесса без обещания смены всей групповой идентичности.posix_seteuidИзменить именно effective UID в специальном launcher, сохранив различие между текущими и сохранёнными полномочиями.posix_setgidНазначить основную группу фонового процесса до отказа от стартовых привилегий.posix_setpgidВыделить собственный одноразовый job в группу процессов для дальнейшего управляемого жизненного цикла.posix_setrlimitОграничить конкретный одноразовый обработчик системным ресурсом, не меняя общую конфигурацию всех процессов.posix_setsidСоздать новый Unix сеанс в специально выделенном дочернем CLI процессе.posix_setuidПосле ограниченной стартовой операции передать дальнейшую работу отдельной сервисной идентичности.posix_strerrorПревратить сохранённый системный код в понятную строку локального журнала.posix_sysconfУзнать параметры ОС, нужные для расчёта размеров и настройки числа фоновых обработчиков.posix_timesОтделить потраченное процессором время обработки каталога от времени ожидания сети или диска.posix_ttynameУзнать конкретное терминальное устройство открытого потока при диагностике CLI.posix_unameДобавить сведения о среде в локальный диагностический отчёт, когда один и тот же worker ведёт себя по-разному на двух серверах.Случайные данные: полный справочник Random
getrandmaxПрочитать верхнюю границу старого генератора без изменения его состояния.lcg_valueРаспознать устаревший источник дробной случайности и заменить его явным диапазоном.mt_getrandmaxПрочитать верхнюю границу старого генератора без изменения его состояния.mt_randПоддержать старый несекретный случайный выбор и понять его общее состояние.mt_srandВоспроизвести старый несекретный сценарий, управляя началом общего генератора.randПоддержать старый несекретный случайный выбор и понять его общее состояние.Random\Engine::generateОтделить низкоуровневый источник байт от операции выбора и корректно передать отказ.Random\Engine\Mt19937::__constructНастроить начальную точку, чтобы воспроизвести старый тест на Mersenne Twister с отдельным состоянием.Random\Engine\Mt19937::__debugInfoПонять диагностический снимок engine, не путая его со случайным результатом.Random\Engine\Mt19937::__serializeСохранить промежуточное состояние Mt19937 для продолжения несекретного опыта.Random\Engine\Mt19937::__unserializeВосстановить промежуточное состояние Mt19937 для продолжения несекретного опыта.Random\Engine\Mt19937::generateПолучить следующее слово воспроизводимого engine и продвинуть его состояние.Random\Engine\PcgOneseq128XslRr64::__constructНастроить начальную точку, чтобы повторять численный опыт с 128-битным состоянием и быстро пропускать шаги.Random\Engine\PcgOneseq128XslRr64::__debugInfoПонять диагностический снимок engine, не путая его со случайным результатом.Random\Engine\PcgOneseq128XslRr64::__serializeСохранить промежуточное состояние PcgOneseq128XslRr64 для продолжения несекретного опыта.Random\Engine\PcgOneseq128XslRr64::__unserializeВосстановить промежуточное состояние PcgOneseq128XslRr64 для продолжения несекретного опыта.Random\Engine\PcgOneseq128XslRr64::generateПолучить следующее слово воспроизводимого engine и продвинуть его состояние.Random\Engine\PcgOneseq128XslRr64::jumpПерейти к нужному шагу воспроизводимого PCG-опыта, не вычисляя каждый пропущенный ответ.Random\Engine\Secure::generateПолучить одно слово системной криптографической случайности для низкоуровневого потребителя.Random\Engine\Xoshiro256StarStar::__constructНастроить начальную точку, чтобы делить воспроизводимый опыт на неперекрывающиеся ограниченные потоки через jump.Random\Engine\Xoshiro256StarStar::__debugInfoПонять диагностический снимок engine, не путая его со случайным результатом.Random\Engine\Xoshiro256StarStar::__serializeСохранить промежуточное состояние Xoshiro256StarStar для продолжения несекретного опыта.Random\Engine\Xoshiro256StarStar::__unserializeВосстановить промежуточное состояние Xoshiro256StarStar для продолжения несекретного опыта.Random\Engine\Xoshiro256StarStar::generateПолучить следующее слово воспроизводимого engine и продвинуть его состояние.Random\Engine\Xoshiro256StarStar::jumpВыделить воспроизводимый блок Xoshiro-последовательности без перебора всех предшествующих шагов.Random\Engine\Xoshiro256StarStar::jumpLongВыделить воспроизводимый блок Xoshiro-последовательности без перебора всех предшествующих шагов.Random\Randomizer::__constructПолучить объект, который превращает байты выбранного источника в числа и перестановки.Random\Randomizer::__serializeЗафиксировать текущее состояние воспроизводимого несекретного опыта.Random\Randomizer::__unserializeВосстановить текущее состояние воспроизводимого несекретного опыта.Random\Randomizer::getBytesПолучить нужное количество бинарных байт, сохранив выбор источника.Random\Randomizer::getBytesFromStringСоставить читаемый код из заданного байтового алфавита без фильтрации случайной строки.Random\Randomizer::getFloatВыбрать дробное тестовое значение в точном интервале без самодельного растягивания числа.Random\Randomizer::getIntВыбрать целое в явно заданных границах от своего источника случайности.Random\Randomizer::nextFloatПринять случайное решение с заданной вероятностью на шкале от 0 до 1.Random\Randomizer::nextIntПрочитать неотрицательное целое из слова engine, когда известна его ширина.Random\Randomizer::pickArrayKeysВыбрать несколько разных элементов словаря, сохранив доступ к их исходным ключам.Random\Randomizer::shuffleArrayПолучить новый случайный порядок карточек, сохранив исходный набор.Random\Randomizer::shuffleBytesПереставить байтовый набор и понять, когда для текста нужен массив целых элементов.srandВоспроизвести старый несекретный сценарий, управляя началом общего генератора.RAR: прочитать, проверить и получить документы
rar_allow_broken_setRarArchive::setAllowBroken — Открывать ли повреждённые архивыrar_broken_isRarArchive::isBroken -- rar_broken_is — Проверяет, не сломан ли архив (не завершён)rar_closeRarArchive::close -- rar_close — Закрывает RAR архив и освобождает все ресурсыrar_comment_getRarArchive::getComment -- rar_comment_get — Получить текст комментария из архива RARrar_entry_getRarArchive::getEntry -- rar_entry_get — Возвращает объект элемента из RAR архиваrar_listRarArchive::getEntries -- rar_list — Возвращает полный список элементов из RAR архиваrar_openRarArchive::open -- rar_open — Открывает архив RARrar_solid_isRarArchive::isSolid -- rar_solid_is — Проверить, является ли архив сплошнымrar_wrapper_cache_statsrar_wrapper_cache_stats — Кеш доступов и отказов обёртки URLRarArchive::__toStringRarArchive::__toString — Получить текстовое представлениеRarArchive::closeRarArchive::close -- rar_close — Закрывает RAR архив и освобождает все ресурсыRarArchive::getCommentRarArchive::getComment -- rar_comment_get — Получить текст комментария из архива RARRarArchive::getEntriesRarArchive::getEntries -- rar_list — Возвращает полный список элементов из RAR архиваRarArchive::getEntryRarArchive::getEntry -- rar_entry_get — Возвращает объект элемента из RAR архиваRarArchive::isBrokenRarArchive::isBroken -- rar_broken_is — Проверяет, не сломан ли архив (не завершён)RarArchive::isSolidRarArchive::isSolid -- rar_solid_is — Проверить, является ли архив сплошнымRarArchive::openRarArchive::open -- rar_open — Открывает архив RARRarArchive::setAllowBrokenRarArchive::setAllowBroken — Открывать ли повреждённые архивыRarEntry::__toStringRarEntry::__toString — Получить текстовое представление записиRarEntry::extractRarEntry::extract — Извлекает элемент из архиваRarEntry::getAttrRarEntry::getAttr — Возвращает атрибуты элемента архиваRarEntry::getCrcRarEntry::getCrc — Возвращает CRC элемента архиваRarEntry::getFileTimeRarEntry::getFileTime — Возвращает последнее время изменения элементаRarEntry::getHostOsRarEntry::getHostOs — Возвращает оригинальную ОС элементаRarEntry::getMethodRarEntry::getMethod — Возвращает метод компрессии элементаRarEntry::getNameRarEntry::getName — Возвращает имя элементаRarEntry::getPackedSizeRarEntry::getPackedSize — Возвращает размер сжатого элементаRarEntry::getStreamRarEntry::getStream — Получить обработчик для записиRarEntry::getUnpackedSizeRarEntry::getUnpackedSize — Возвращает размер элемента в распакованном состоянииRarEntry::getVersionRarEntry::getVersion — Возвращает минимальную версию программы RAR, необходимую для распаковки элементаRarEntry::isDirectoryRarEntry::isDirectory — Проверяет, является ли запись директориейRarEntry::isEncryptedRarEntry::isEncrypted — Проверяет, зашифрована ли записьRarException::isUsingExceptionsRarException::isUsingExceptions — Проверить, будут ли функции возвращать ошибки или выбрасывать исключенияRarException::setUsingExceptionsRarException::setUsingExceptions — Включить или отключить генерацию исключений вместо возвращения ошибокПаузы, лимиты API и повторные попытки
Ссылки: когда два имени изменяют одно значение
Reflection PHP: полный справочник классов и методов с практикой
Reflection::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.Reflection::getModifierNamesРасшифровать битовую маску public, static, final и других модификаторов в список имён.ReflectionAttribute::__constructСоздать описание Attribute по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionAttribute::getArgumentsПолучить arguments из уже выбранного ReflectionAttribute и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionAttribute::getNameПолучить name из уже выбранного ReflectionAttribute и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionAttribute::getTargetПолучить target из уже выбранного ReflectionAttribute и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionAttribute::isRepeatedОтветить на узкий вопрос «is repeated» и не делать из bool более широких выводов о корректности программы.ReflectionClass::__constructСоздать описание Class по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionClass::__toStringПолучить встроенное текстовое диагностическое представление ReflectionClass; формат не является стабильным API.ReflectionClass::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionClass::getAttributesПолучить attributes из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getConstantПолучить constant из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getConstantsПолучить constants из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getConstructorПолучить constructor из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getDefaultPropertiesПолучить default properties из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getDocCommentПолучить doc comment из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getEndLineПолучить end line из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getExtensionПолучить extension из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getExtensionNameПолучить extension name из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getFileNameПолучить file name из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getInterfaceNamesПолучить interface names из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getInterfacesПолучить interfaces из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getLazyInitializerПолучить lazy initializer из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getMethodПолучить method из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getMethodsПолучить methods из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getModifiersПолучить modifiers из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getNameПолучить name из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getNamespaceNameПолучить namespace name из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getParentClassПолучить parent class из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getPropertyПолучить property из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getReflectionConstantПолучить reflection constant из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getReflectionConstantsПолучить reflection constants из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getShortNameПолучить short name из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getStartLineПолучить start line из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getStaticPropertiesПолучить static properties из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getStaticPropertyValueПолучить static property value из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getTraitAliasesПолучить trait aliases из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getTraitNamesПолучить trait names из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::getTraitsПолучить traits из уже выбранного ReflectionClass и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClass::hasConstantПроверить наличие constant до чтения или вызова и обработать отрицательный результат отдельно.ReflectionClass::hasMethodПроверить наличие method до чтения или вызова и обработать отрицательный результат отдельно.ReflectionClass::hasPropertyПроверить наличие property до чтения или вызова и обработать отрицательный результат отдельно.ReflectionClass::implementsInterfaceПрименить ReflectionClass::implementsInterface к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionClass::initializeLazyObjectПрименить ReflectionClass::initializeLazyObject к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionClass::inNamespaceПрименить ReflectionClass::inNamespace к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionClass::isAbstractОтветить на узкий вопрос «is abstract» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isAnonymousОтветить на узкий вопрос «is anonymous» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isCloneableОтветить на узкий вопрос «is cloneable» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isEnumОтветить на узкий вопрос «is enum» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isFinalОтветить на узкий вопрос «is final» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isInstanceОтветить на узкий вопрос «is instance» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isInstantiableОтветить на узкий вопрос «is instantiable» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isInterfaceОтветить на узкий вопрос «is interface» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isInternalОтветить на узкий вопрос «is internal» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isIterableОтветить на узкий вопрос «is iterable» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isIterateableОтветить на узкий вопрос «is iterateable» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isReadOnlyОтветить на узкий вопрос «is read only» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isSubclassOfОтветить на узкий вопрос «is subclass of» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isTraitОтветить на узкий вопрос «is trait» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isUninitializedLazyObjectОтветить на узкий вопрос «is uninitialized lazy object» и не делать из bool более широких выводов о корректности программы.ReflectionClass::isUserDefinedОтветить на узкий вопрос «is user defined» и не делать из bool более широких выводов о корректности программы.ReflectionClass::markLazyObjectAsInitializedПрименить ReflectionClass::markLazyObjectAsInitialized к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionClass::newInstanceСоздать объект через метаданные только там, где инфраструктуре заранее разрешена такая фабрика.ReflectionClass::newInstanceArgsСоздать объект через метаданные только там, где инфраструктуре заранее разрешена такая фабрика.ReflectionClass::newInstanceWithoutConstructorСоздать объект через метаданные только там, где инфраструктуре заранее разрешена такая фабрика.ReflectionClass::newLazyGhostСоздать объект, состояние которого заполнится только при первом наблюдении.ReflectionClass::newLazyProxyСоздать заместитель, который по требованию получит настоящий объект из фабрики.ReflectionClass::resetAsLazyGhostОчистить совместимый объект и снова сделать его ленивым ghost-объектом.ReflectionClass::resetAsLazyProxyОчистить совместимый объект и снова связать его с ленивой фабрикой proxy.ReflectionClass::setStaticPropertyValueИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionClassConstant::__constructСоздать описание ClassConstant по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionClassConstant::__toStringПолучить встроенное текстовое диагностическое представление ReflectionClassConstant; формат не является стабильным API.ReflectionClassConstant::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionClassConstant::getAttributesПолучить attributes из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getDeclaringClassПолучить declaring class из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getDocCommentПолучить doc comment из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getModifiersПолучить modifiers из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getNameПолучить name из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getTypeПолучить type из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::getValueПолучить value из уже выбранного ReflectionClassConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionClassConstant::hasTypeПроверить наличие type до чтения или вызова и обработать отрицательный результат отдельно.ReflectionClassConstant::isDeprecatedОтветить на узкий вопрос «is deprecated» и не делать из bool более широких выводов о корректности программы.ReflectionClassConstant::isEnumCaseОтветить на узкий вопрос «is enum case» и не делать из bool более широких выводов о корректности программы.ReflectionClassConstant::isFinalОтветить на узкий вопрос «is final» и не делать из bool более широких выводов о корректности программы.ReflectionClassConstant::isPrivateОтветить на узкий вопрос «is private» и не делать из bool более широких выводов о корректности программы.ReflectionClassConstant::isProtectedОтветить на узкий вопрос «is protected» и не делать из bool более широких выводов о корректности программы.ReflectionClassConstant::isPublicОтветить на узкий вопрос «is public» и не делать из bool более широких выводов о корректности программы.ReflectionConstant::__constructСоздать описание Constant по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionConstant::__toStringПолучить встроенное текстовое диагностическое представление ReflectionConstant; формат не является стабильным API.ReflectionConstant::getAttributesПолучить attributes из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getExtensionПолучить extension из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getExtensionNameПолучить extension name из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getFileNameПолучить file name из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getNameПолучить name из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getNamespaceNameПолучить namespace name из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getShortNameПолучить short name из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::getValueПолучить value из уже выбранного ReflectionConstant и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionConstant::isDeprecatedОтветить на узкий вопрос «is deprecated» и не делать из bool более широких выводов о корректности программы.ReflectionEnum::__constructСоздать описание Enum по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionEnum::getBackingTypeПолучить backing type из уже выбранного ReflectionEnum и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionEnum::getCaseПолучить case из уже выбранного ReflectionEnum и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionEnum::getCasesПолучить cases из уже выбранного ReflectionEnum и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionEnum::hasCaseПроверить наличие case до чтения или вызова и обработать отрицательный результат отдельно.ReflectionEnum::isBackedОтветить на узкий вопрос «is backed» и не делать из bool более широких выводов о корректности программы.ReflectionEnumBackedCase::__constructСоздать описание EnumBackedCase по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionEnumBackedCase::getBackingValueПолучить backing value из уже выбранного ReflectionEnumBackedCase и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionEnumUnitCase::__constructСоздать описание EnumUnitCase по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionEnumUnitCase::getEnumПолучить enum из уже выбранного ReflectionEnumUnitCase и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionEnumUnitCase::getValueПолучить value из уже выбранного ReflectionEnumUnitCase и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::__cloneПроверить правила клонирования объекта ReflectionExtension и не путать описание с копией исследуемого объекта.ReflectionExtension::__constructСоздать описание Extension по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionExtension::__toStringПолучить встроенное текстовое диагностическое представление ReflectionExtension; формат не является стабильным API.ReflectionExtension::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionExtension::getClassesПолучить classes из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getClassNamesПолучить class names из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getConstantsПолучить constants из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getDependenciesПолучить dependencies из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getFunctionsПолучить functions из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getINIEntriesПолучить i n i entries из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getNameПолучить name из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::getVersionПолучить version из уже выбранного ReflectionExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionExtension::infoВывести диагностическую информацию расширения; этот метод пишет вывод, а не возвращает массив.ReflectionExtension::isPersistentОтветить на узкий вопрос «is persistent» и не делать из bool более широких выводов о корректности программы.ReflectionExtension::isTemporaryОтветить на узкий вопрос «is temporary» и не делать из bool более широких выводов о корректности программы.ReflectionFiber::__constructСоздать описание Fiber по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionFiber::getCallableПолучить callable из уже выбранного ReflectionFiber и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFiber::getExecutingFileПолучить executing file из уже выбранного ReflectionFiber и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFiber::getExecutingLineПолучить executing line из уже выбранного ReflectionFiber и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFiber::getFiberПолучить fiber из уже выбранного ReflectionFiber и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFiber::getTraceПолучить trace из уже выбранного ReflectionFiber и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunction::__constructСоздать описание Function по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionFunction::__toStringПолучить встроенное текстовое диагностическое представление ReflectionFunction; формат не является стабильным API.ReflectionFunction::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionFunction::getClosureПолучить closure из уже выбранного ReflectionFunction и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunction::invokeДействительно вызвать отражённую функцию с позиционными аргументами.ReflectionFunction::invokeArgsДействительно вызвать отражённую функцию, передав аргументы массивом.ReflectionFunction::isAnonymousОтветить на узкий вопрос «is anonymous» и не делать из bool более широких выводов о корректности программы.ReflectionFunction::isDisabledОтветить на узкий вопрос «is disabled» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::__cloneПроверить правила клонирования объекта ReflectionFunctionAbstract и не путать описание с копией исследуемого объекта.ReflectionFunctionAbstract::__toStringПолучить встроенное текстовое диагностическое представление ReflectionFunctionAbstract; формат не является стабильным API.ReflectionFunctionAbstract::getClosureCalledClassПолучить closure called class из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getClosureScopeClassПолучить closure scope class из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getClosureThisПолучить closure this из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getClosureUsedVariablesПолучить closure used variables из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getDocCommentПолучить doc comment из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getEndLineПолучить end line из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getExtensionПолучить extension из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getExtensionNameПолучить extension name из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getFileNameПолучить file name из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getNameПолучить name из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getNamespaceNameПолучить namespace name из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getNumberOfParametersПолучить number of parameters из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getNumberOfRequiredParametersПолучить number of required parameters из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getParametersПолучить parameters из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getReturnTypeПолучить return type из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getShortNameПолучить short name из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getStartLineПолучить start line из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getStaticVariablesПолучить static variables из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::getTentativeReturnTypeПолучить tentative return type из уже выбранного ReflectionFunctionAbstract и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionFunctionAbstract::hasReturnTypeПроверить наличие return type до чтения или вызова и обработать отрицательный результат отдельно.ReflectionFunctionAbstract::hasTentativeReturnTypeПроверить наличие tentative return type до чтения или вызова и обработать отрицательный результат отдельно.ReflectionFunctionAbstract::inNamespaceПрименить ReflectionFunctionAbstract::inNamespace к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionFunctionAbstract::isClosureОтветить на узкий вопрос «is closure» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isDeprecatedОтветить на узкий вопрос «is deprecated» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isGeneratorОтветить на узкий вопрос «is generator» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isInternalОтветить на узкий вопрос «is internal» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isStaticОтветить на узкий вопрос «is static» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isUserDefinedОтветить на узкий вопрос «is user defined» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::isVariadicОтветить на узкий вопрос «is variadic» и не делать из bool более широких выводов о корректности программы.ReflectionFunctionAbstract::returnsReferenceОтветить на узкий вопрос «returns reference» и не делать из bool более широких выводов о корректности программы.ReflectionGenerator::__constructСоздать описание Generator по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionGenerator::getExecutingFileПолучить executing file из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::getExecutingGeneratorПолучить executing generator из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::getExecutingLineПолучить executing line из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::getFunctionПолучить function из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::getThisПолучить this из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::getTraceПолучить trace из уже выбранного ReflectionGenerator и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionGenerator::isClosedОтветить на узкий вопрос «is closed» и не делать из bool более широких выводов о корректности программы.ReflectionIntersectionType::getTypesПолучить types из уже выбранного ReflectionIntersectionType и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionMethod::__constructСоздать описание Method по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionMethod::__toStringПолучить встроенное текстовое диагностическое представление ReflectionMethod; формат не является стабильным API.ReflectionMethod::createFromMethodNameСоздать объект через метаданные только там, где инфраструктуре заранее разрешена такая фабрика.ReflectionMethod::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionMethod::getClosureПолучить closure из уже выбранного ReflectionMethod и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionMethod::getDeclaringClassПолучить declaring class из уже выбранного ReflectionMethod и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionMethod::getModifiersПолучить modifiers из уже выбранного ReflectionMethod и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionMethod::getPrototypeПолучить prototype из уже выбранного ReflectionMethod и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionMethod::hasPrototypeПроверить наличие prototype до чтения или вызова и обработать отрицательный результат отдельно.ReflectionMethod::invokeДействительно вызвать отражённый метод у выбранного объекта.ReflectionMethod::invokeArgsДействительно вызвать отражённый метод, передав аргументы массивом.ReflectionMethod::isAbstractОтветить на узкий вопрос «is abstract» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isConstructorОтветить на узкий вопрос «is constructor» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isDestructorОтветить на узкий вопрос «is destructor» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isFinalОтветить на узкий вопрос «is final» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isPrivateОтветить на узкий вопрос «is private» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isProtectedОтветить на узкий вопрос «is protected» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::isPublicОтветить на узкий вопрос «is public» и не делать из bool более широких выводов о корректности программы.ReflectionMethod::setAccessibleИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionNamedType::getNameПолучить name из уже выбранного ReflectionNamedType и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionNamedType::isBuiltinОтветить на узкий вопрос «is builtin» и не делать из bool более широких выводов о корректности программы.ReflectionObject::__constructСоздать описание Object по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionObject::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionParameter::__cloneПроверить правила клонирования объекта ReflectionParameter и не путать описание с копией исследуемого объекта.ReflectionParameter::__constructСоздать описание Parameter по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionParameter::__toStringПолучить встроенное текстовое диагностическое представление ReflectionParameter; формат не является стабильным API.ReflectionParameter::allowsNullОтветить на узкий вопрос «allows null» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::canBePassedByValueОтветить на узкий вопрос «can be passed by value» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionParameter::getAttributesПолучить attributes из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getClassПолучить class из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getDeclaringClassПолучить declaring class из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getDeclaringFunctionПолучить declaring function из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getDefaultValueПолучить default value из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getDefaultValueConstantNameПолучить default value constant name из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getNameПолучить name из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getPositionПолучить position из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::getTypeПолучить type из уже выбранного ReflectionParameter и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionParameter::hasTypeПроверить наличие type до чтения или вызова и обработать отрицательный результат отдельно.ReflectionParameter::isArrayОтветить на узкий вопрос «is array» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isCallableОтветить на узкий вопрос «is callable» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isDefaultValueAvailableОтветить на узкий вопрос «is default value available» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isDefaultValueConstantОтветить на узкий вопрос «is default value constant» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isOptionalОтветить на узкий вопрос «is optional» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isPassedByReferenceОтветить на узкий вопрос «is passed by reference» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isPromotedОтветить на узкий вопрос «is promoted» и не делать из bool более широких выводов о корректности программы.ReflectionParameter::isVariadicОтветить на узкий вопрос «is variadic» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::__cloneПроверить правила клонирования объекта ReflectionProperty и не путать описание с копией исследуемого объекта.ReflectionProperty::__constructСоздать описание Property по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionProperty::__toStringПолучить встроенное текстовое диагностическое представление ReflectionProperty; формат не является стабильным API.ReflectionProperty::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionProperty::getAttributesПолучить attributes из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getDeclaringClassПолучить declaring class из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getDefaultValueПолучить default value из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getDocCommentПолучить doc comment из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getHookПолучить hook из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getHooksПолучить hooks из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getMangledNameПолучить mangled name из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getModifiersПолучить modifiers из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getNameПолучить name из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getRawValueПолучить raw value из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getSettableTypeПолучить settable type из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getTypeПолучить type из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::getValueПолучить value из уже выбранного ReflectionProperty и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionProperty::hasDefaultValueПроверить наличие default value до чтения или вызова и обработать отрицательный результат отдельно.ReflectionProperty::hasHookПроверить наличие hook до чтения или вызова и обработать отрицательный результат отдельно.ReflectionProperty::hasHooksПроверить наличие hooks до чтения или вызова и обработать отрицательный результат отдельно.ReflectionProperty::hasTypeПроверить наличие type до чтения или вызова и обработать отрицательный результат отдельно.ReflectionProperty::isAbstractОтветить на узкий вопрос «is abstract» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isDefaultОтветить на узкий вопрос «is default» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isDynamicОтветить на узкий вопрос «is dynamic» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isFinalОтветить на узкий вопрос «is final» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isLazyОтветить на узкий вопрос «is lazy» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isPrivateОтветить на узкий вопрос «is private» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isPrivateSetОтветить на узкий вопрос «is private set» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isPromotedОтветить на узкий вопрос «is promoted» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isProtectedОтветить на узкий вопрос «is protected» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isProtectedSetОтветить на узкий вопрос «is protected set» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isPublicОтветить на узкий вопрос «is public» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isReadOnlyОтветить на узкий вопрос «is read only» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isStaticОтветить на узкий вопрос «is static» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::isVirtualОтветить на узкий вопрос «is virtual» и не делать из bool более широких выводов о корректности программы.ReflectionProperty::setAccessibleИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionProperty::setRawValueИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionProperty::setRawValueWithoutLazyInitializationИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionProperty::setValueИзменить выбранное значение через Reflection, сохраняя проверки типов и явно ограничивая технический сценарий.ReflectionProperty::skipLazyInitializationПрименить ReflectionProperty::skipLazyInitialization к конкретной диагностической или инфраструктурной задаче и увидеть фактический результат.ReflectionReference::__constructПонять, почему ReflectionReference нельзя создать напрямую и где взять корректный экземпляр.ReflectionType::__toStringПолучить встроенное текстовое диагностическое представление ReflectionType; формат не является стабильным API.ReflectionType::allowsNullОтветить на узкий вопрос «allows null» и не делать из bool более широких выводов о корректности программы.ReflectionUnionType::getTypesПолучить types из уже выбранного ReflectionUnionType и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionZendExtension::__cloneПроверить правила клонирования объекта ReflectionZendExtension и не путать описание с копией исследуемого объекта.ReflectionZendExtension::__constructСоздать описание ZendExtension по конкретному имени или объекту и получить ошибку для неизвестной цели.ReflectionZendExtension::__toStringПолучить встроенное текстовое диагностическое представление ReflectionZendExtension; формат не является стабильным API.ReflectionZendExtension::exportРазобрать удалённый метод export и заменить его явным созданием Reflection-объекта и контролируемым выводом.ReflectionZendExtension::getAuthorПолучить author из уже выбранного ReflectionZendExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionZendExtension::getCopyrightПолучить copyright из уже выбранного ReflectionZendExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionZendExtension::getNameПолучить name из уже выбранного ReflectionZendExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionZendExtension::getURLПолучить u r l из уже выбранного ReflectionZendExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.ReflectionZendExtension::getVersionПолучить version из уже выбранного ReflectionZendExtension и использовать результат без исполнения исследуемого кода, если метод только читает метаданные.Reflector::exportИсторическая статическая выгрузка Reflection, удалённая из PHP; перейти на явные объекты и __toString.Регулярные выражения: точная грамматика и пределы
Безопасность: границы доверия, доступ и контекст вывода
hash_equalsСравнить проверяемую секретную строку без раннего выхода по первому отличающемуся байту.password_hashСоздать строку проверки пароля при регистрации, не сохраняя исходный пароль.password_needs_rehashСравнить параметры сохранённого хеша с текущей политикой и решить, требуется ли новый хеш.password_verifyПроверить введённый пароль относительно сохранённой строки и получить true или false.random_bytesСоздать непредсказуемый материал токена и безопасно представить его текстом.Сессии PHP: cookie, состояние, безопасность и полный API
session_abortЗакрыть сессию, отказавшись от несохранённых изменений.session_cache_expireПрочитать или изменить время HTTP-кэша ответа, связанного с сессией.session_cache_limiterПрочитать или изменить политику HTTP-кэша ответа, связанного с сессией.session_commitСохранить текущие данные и освободить сессию для соседних запросов. Это точный псевдоним session_write_close.session_create_idСоздать случайный кандидат ID, ещё не переключая текущую сессию.session_decodeЗагрузить доверенную строку сессии в открытый массив $_SESSION.session_encodeПолучить строку хранилища из текущего массива сессии.session_gcЗапустить удаление устаревших записей хранилища.session_get_cookie_paramsПрочитать эффективную политику session-cookie в текущем запросе.session_idУзнать текущий ID или выбрать уже существующую сессию до старта.session_module_nameУзнать, какой backend хранит сессии: files или обработчик расширения.session_nameЗадать имя cookie, под которым браузер приносит ID.session_register_shutdownЗарегистрировать закрытие сессии при штатном завершении скрипта.session_resetПеречитать сохранённую сессию и продолжить работать с ней.session_save_pathУказать обработчику место хранения данных до старта.session_set_save_handlerПодключить объект хранения: PHP вызывает его методы в нужные моменты сессии.session_unsetОчистить все ячейки открытой сессии, сохранив её идентификатор.SessionHandler::closeОбёртка штатного backend: Освободить ресурсы и блокировку, когда PHP завершает сессию.SessionHandler::create_sidДелегировать создание нового ID текущему внутреннему обработчику.SessionHandler::destroyОбёртка штатного backend: Удалить одну запись; не путать с очищением памяти и cookie.SessionHandler::gcОбёртка штатного backend: Удалить записи старше заданного срока и вернуть число удалений.SessionHandler::openОбёртка штатного backend: Подготовить backend к чтению; PHP первым вызывает open при старте.SessionHandler::readОбёртка штатного backend: Найти байты сессии по ID; PHP сам преобразует их в $_SESSION.SessionHandler::writeОбёртка штатного backend: Сохранить точную строку PHP под переданным идентификатором.SessionHandlerInterface::closeОсвободить ресурсы и блокировку, когда PHP завершает сессию.SessionHandlerInterface::destroyУдалить одну запись; не путать с очищением памяти и cookie.SessionHandlerInterface::gcУдалить записи старше заданного срока и вернуть число удалений.SessionHandlerInterface::openПодготовить backend к чтению; PHP первым вызывает open при старте.SessionHandlerInterface::readНайти байты сессии по ID; PHP сам преобразует их в $_SESSION.SessionHandlerInterface::writeСохранить точную строку PHP под переданным идентификатором.SessionIdInterface::create_sidДать своему backend криптографически случайный новый ID.SessionUpdateTimestampHandlerInterface::updateTimestampПродлить срок неизменившейся записи без переписывания всего payload.SessionUpdateTimestampHandlerInterface::validateIdПодтвердить, что принесённый ID уже существует у backend.Сессии и вход: cookies, блокировки и смена идентификатора
session_destroyУдалить запись текущей сессии из её серверного хранилища.session_regenerate_idСменить ключ текущего состояния, например перед назначением прав после входа.session_set_cookie_paramsНастроить область и ограничения session-cookie перед её отправкой.session_startЗагрузить корзину этого посетителя в $_SESSION или начать новую сессию.session_statusПонять, можно ли сейчас сохранять изменения сессии.session_write_closeСохранить текущие данные и освободить сессию для соседних запросов.Shmop: общий блок байтов и полный справочник
ShmopНепрозрачная ручка блока байтов PHP8.shmop_closeУстаревший вызов закрытия: в PHP8 не оказывает действия.shmop_deleteПометить системный сегмент к удалению владельцем.shmop_openСоздать блок или подключиться с нужными правами доступа.shmop_readСкопировать выбранные байты в PHP строку.shmop_sizeУзнать ёмкость блока в байтах.shmop_writeЗаменить байты и узнать фактически записанное количество.SimpleXML: читать, проверять и изменять XML
simplexml_import_domИспользовать удобное чтение SimpleXML для узла, уже разобранного DOM, без повторного разбора XML-строки.simplexml_load_fileПрочитать небольшой XML-каталог из известного локального файла одним вызовом.simplexml_load_stringПревратить полученную строку XML в дерево, чтобы прочитать название товара, а не искать теги через explode.SimpleXMLElement::__constructСоздать XML-объект через new, получая исключение, если документ невозможно разобрать.SimpleXMLElement::__debugInfoПосмотреть диагностическое представление XML-объекта либо ограничить отладочный вывод собственного подкласса.SimpleXMLElement::__toStringПолучить непосредственный текст элемента для сравнения, валидации или вывода.SimpleXMLElement::addAttributeДобавить короткое служебное значение в открывающий тег: идентификатор заказа, валюту или код источника.SimpleXMLElement::addChildДобавить новый товар или поле в XML и получить объект именно добавленного ребёнка для дальнейшего заполнения.SimpleXMLElement::asXMLПолучить XML-разметку текущего элемента либо сохранить её в заданный файл; эти два режима возвращают разные типы.SimpleXMLElement::attributesПеречислить свойства, записанные внутри открывающего тега: артикул, валюту или признак доступности.SimpleXMLElement::childrenПройти непосредственных детей текущего XML-элемента, когда их имена заранее неизвестны или принадлежат отдельному namespace.SimpleXMLElement::countПосчитать выбранные XML-элементы, например строки заказа; не спутать число строк с числом полей в одной строке.SimpleXMLElement::currentПолучить объект ребёнка на текущей позиции, чтобы читать или изменять именно его.SimpleXMLElement::getChildrenПолучить объект текущего элемента как следующий уровень рекурсивного обхода.SimpleXMLElement::getDocNamespacesПосмотреть объявления xmlns в документе, в том числе пока не использованные, чтобы разобраться с новым форматом поставщика.SimpleXMLElement::getNameУзнать имя выбранного тега, чтобы проверить тип документа или объяснить неизвестное поле импорта.SimpleXMLElement::getNamespacesОпределить пространства имён, фактически используемые элементами и атрибутами выбранной ветки.SimpleXMLElement::hasChildrenПроверить, есть ли дочерние элементы у текущего ребёнка итератора, прежде чем спускаться глубже.SimpleXMLElement::keyУзнать имя текущего дочернего тега в ручном обходе: ключ здесь не порядковый номер.SimpleXMLElement::nextПередвинуть ручной XML-курсор к следующему элементу после обработки текущего.SimpleXMLElement::registerXPathNamespaceПривязать собственный короткий префикс к известному URI, чтобы XPath работал при смене префикса у поставщика.SimpleXMLElement::rewindПодготовить ручной обход списка детей и вернуться к первой позиции после предыдущего прохода.SimpleXMLElement::saveXMLПолучить XML-разметку текущего элемента либо сохранить её в заданный файл; эти два режима возвращают разные типы.SimpleXMLElement::validУзнать, можно ли читать текущую позицию ручного обхода, не вызывая ошибку на конце списка.SimpleXMLElement::xpathВыбрать элементы по пути и условию, например все доступные товары, вместо ручного перебора ненужных веток.Sockets: собственный TCP/UDP протокол и полный API
AddressInfoРазличать описание адреса и обычный пользовательский объект с открытыми свойствами.SocketРазличать конечная точка и обычный пользовательский объект с открытыми свойствами.socket_acceptПолучить отдельный endpoint для одного клиента, сохранив listener для следующих подключений.socket_addrinfo_bindСоздать и привязать endpoint, используя уже найденное сочетание адреса, типа и протокола.socket_addrinfo_connectСоздать подключённый endpoint по одному кандидату адреса.socket_addrinfo_explainПоказать человеку адрес, семейство и протокол кандидата.socket_addrinfo_lookupПолучить варианты адреса для будущего bind/connect, ещё не открывая соединение.socket_atmarkУзнать, стоит ли TCP поток на отметке urgent/OOB данных.socket_bindНазначить собственный адрес endpoint: где принимать данные или с какого интерфейса подключаться.socket_clear_errorЯвно сбросить сохранённую ошибку после обработки, не изменяя само соединение.socket_closeЗавершить владение системным endpoint и освободить его после запроса/обмена.socket_cmsg_spaceНе угадывать размер буфера control для recvmsg.socket_connectНазначить удалённую сторону и установить TCP-соединение либо выбрать peer для UDP.socket_createПодготовить конечную точку, через которую программа будет обмениваться байтами или сообщениями.socket_create_listenСократить создание IPv4 listener, когда осознанно нужно слушать все местные интерфейсы.socket_create_pairПолучить два уже соединённых локальных endpoint для обмена внутри программы или IPC.socket_export_streamПодключить stream-функции к уже имеющемуся сокету, сохранив один endpoint.socket_get_optionПроверить фактическое свойство endpoint вместо предположения, что ОС приняла ровно запрошенное значение.socket_getoptПонимать краткое имя socket_get_option при чтении существующей программы.socket_getpeernameУзнать адрес удалённой стороны для диагностики и сопоставления соединений.socket_getsocknameУзнать адрес местной стороны для диагностики и сопоставления соединений.socket_import_streamНастроить системный сокет, стоящий за существующим сетевым stream.socket_last_errorУзнать причину отказа после проверки результата операции.socket_listenРазрешить входящие соединения на привязанном endpoint и подготовить очередь до accept.socket_readПолучить очередную часть входящих байтов либо прочитать до строкового разделителя.socket_recvПолучить данные с управляющими флагами и отдельным числом принятых байтов.socket_recvfromПринять одно сообщение и узнать, куда при необходимости отправить ответ.socket_recvmsgПолучить байты, адрес и ancillary-данные одним системным чтением.socket_selectЖдать готовности группы endpoint без постоянного опроса и без блокировки на одном клиенте.socket_sendОтправить данные в соединённый endpoint с явно выбранными флагами.socket_sendmsgПередать сообщение из нескольких буферов и, при необходимости, поддержанные ancillary-данные.socket_sendtoОтправить отдельное сообщение указанному адресату, например UDP-показание и ответ на него.socket_set_blockВернуть блокирующее поведение endpoint, когда один последовательный обмен проще event loop.socket_set_nonblockСделать операции быстрыми попытками, чтобы программа могла обслуживать несколько endpoint.socket_set_optionИзменить конкретное свойство сокета: таймаут, буфер, TCP поведение или разрешённую multicast-настройку.socket_setoptПонимать краткое имя socket_set_option при чтении существующей программы.socket_shutdownОстановить одну или обе стороны обмена, сохранив endpoint до последующего close.socket_strerrorПреобразовать системный код ошибки в описание для диагностики.socket_writeПередать байты в соединённый поток и узнать, сколько из них принято системой.socket_wsaprotocol_info_exportПодготовить описание Windows-сокета для конкретного процесса.socket_wsaprotocol_info_importОткрыть собственный handle ранее экспортированного Windows endpoint.socket_wsaprotocol_info_releaseОсвободить mapping с описанием Windows-сокета, когда он больше не нужен.Sodium: полный справочник шифрования, подписей, паролей и ключей
sodium_addСложить два больших беззнаковых числа в little-endian представлении по модулю размера буфера.sodium_base642binСтрого декодировать выбранный вариант Base64 в исходные байты.sodium_bin2base64Закодировать бинарные данные выбранным вариантом Base64.sodium_bin2hexПредставить бинарные байты печатной шестнадцатеричной строкой.sodium_compareСравнить два больших беззнаковых little-endian числа за постоянное время.sodium_crypto_aead_aegis128l_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_aegis128l_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_aegis128l_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_aead_aegis256_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_aegis256_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_aegis256_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_aead_aes256gcm_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_aes256gcm_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_aes256gcm_is_availableОперация Sodium: crypto aead aes256gcm is available.sodium_crypto_aead_aes256gcm_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_aead_chacha20poly1305_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_chacha20poly1305_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_chacha20poly1305_ietf_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_chacha20poly1305_ietf_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_chacha20poly1305_ietf_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_aead_chacha20poly1305_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_aead_xchacha20poly1305_ietf_decryptПроверить целостность и расшифровать сообщение; вернуть <code>false</code>, если ключ, nonce, AAD или шифротекст не совпали.sodium_crypto_aead_xchacha20poly1305_ietf_encryptЗашифровать сообщение и добавить проверку целостности; связанные данные останутся открытыми, но будут защищены от подмены.sodium_crypto_aead_xchacha20poly1305_ietf_keygenСоздать криптографически случайный ключ правильной длины для семейства AEAD: шифрование и связанные данные.sodium_crypto_authСоздать или проверить MAC для сообщения с общим секретным ключом.sodium_crypto_auth_keygenСоздать криптографически случайный ключ правильной длины для семейства MAC: подлинность сообщения.sodium_crypto_auth_verifyПроверить криптографическое подтверждение, не раскрывая секретный ключ.sodium_crypto_boxЗащитить сообщение между участниками с помощью их открытых и секретных ключей.sodium_crypto_box_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_box_keypair_from_secretkey_and_publickeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_box_openПроверить и открыть защищённое сообщение; отказ нельзя смешивать с допустимой пустой строкой.sodium_crypto_box_publickeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_box_publickey_from_secretkeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_box_sealЗащитить сообщение между участниками с помощью их открытых и секретных ключей.sodium_crypto_box_seal_openПроверить и открыть защищённое сообщение; отказ нельзя смешивать с допустимой пустой строкой.sodium_crypto_box_secretkeyИзвлечь секретный ключ из упакованной пары для контролируемого хранения или совместимой операции.sodium_crypto_box_seed_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_core_ristretto255_addНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_from_hashНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_is_valid_pointНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_randomНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_addНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_complementНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_invertНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_mulНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_negateНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_randomНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_reduceНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_scalar_subНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_core_ristretto255_subНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_generichashВычислить BLAKE2b-хеш целиком или по частям; необязательный ключ превращает его в keyed hash.sodium_crypto_generichash_finalВычислить BLAKE2b-хеш целиком или по частям; необязательный ключ превращает его в keyed hash.sodium_crypto_generichash_initВычислить BLAKE2b-хеш целиком или по частям; необязательный ключ превращает его в keyed hash.sodium_crypto_generichash_keygenСоздать криптографически случайный ключ правильной длины для семейства Универсальный хеш и потоковый хеш.sodium_crypto_generichash_updateВычислить BLAKE2b-хеш целиком или по частям; необязательный ключ превращает его в keyed hash.sodium_crypto_kdf_derive_from_keyПолучить отдельный ключ назначения из master key, контекста и числового ID.sodium_crypto_kdf_keygenСоздать криптографически случайный ключ правильной длины для семейства Производные ключи одного приложения.sodium_crypto_kx_client_session_keysПолучить направленные ключи сессии клиента и сервера без передачи самих секретных ключей.sodium_crypto_kx_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_kx_publickeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_kx_secretkeyИзвлечь секретный ключ из упакованной пары для контролируемого хранения или совместимой операции.sodium_crypto_kx_seed_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_kx_server_session_keysПолучить направленные ключи сессии клиента и сервера без передачи самих секретных ключей.sodium_crypto_pwhashБезопасно обработать пароль с ограничением CPU и памяти; конкретная функция либо хранит verifier, либо выводит бинарный ключ.sodium_crypto_pwhash_scryptsalsa208sha256Безопасно обработать пароль с ограничением CPU и памяти; конкретная функция либо хранит verifier, либо выводит бинарный ключ.sodium_crypto_pwhash_scryptsalsa208sha256_strБезопасно обработать пароль с ограничением CPU и памяти; конкретная функция либо хранит verifier, либо выводит бинарный ключ.sodium_crypto_pwhash_scryptsalsa208sha256_str_verifyПроверить криптографическое подтверждение, не раскрывая секретный ключ.sodium_crypto_pwhash_strБезопасно обработать пароль с ограничением CPU и памяти; конкретная функция либо хранит verifier, либо выводит бинарный ключ.sodium_crypto_pwhash_str_needs_rehashБезопасно обработать пароль с ограничением CPU и памяти; конкретная функция либо хранит verifier, либо выводит бинарный ключ.sodium_crypto_pwhash_str_verifyПроверить криптографическое подтверждение, не раскрывая секретный ключ.sodium_crypto_scalarmultНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_scalarmult_baseНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_scalarmult_ristretto255Низкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_scalarmult_ristretto255_baseНизкоуровневая операция эллиптической группы для реализации уже спроектированного и проверенного протокола.sodium_crypto_secretboxОперация Sodium: crypto secretbox.sodium_crypto_secretbox_keygenСоздать криптографически случайный ключ правильной длины для семейства Secretbox: общий секретный ключ.sodium_crypto_secretbox_openПроверить и открыть защищённое сообщение; отказ нельзя смешивать с допустимой пустой строкой.sodium_crypto_secretstream_xchacha20poly1305_init_pullВыполнить один шаг защищённого потока XChaCha20-Poly1305 с состоянием и явной границей сообщения.sodium_crypto_secretstream_xchacha20poly1305_init_pushВыполнить один шаг защищённого потока XChaCha20-Poly1305 с состоянием и явной границей сообщения.sodium_crypto_secretstream_xchacha20poly1305_keygenСоздать криптографически случайный ключ правильной длины для семейства Secretstream: большие и потоковые данные.sodium_crypto_secretstream_xchacha20poly1305_pullВыполнить один шаг защищённого потока XChaCha20-Poly1305 с состоянием и явной границей сообщения.sodium_crypto_secretstream_xchacha20poly1305_pushВыполнить один шаг защищённого потока XChaCha20-Poly1305 с состоянием и явной границей сообщения.sodium_crypto_secretstream_xchacha20poly1305_rekeyВыполнить один шаг защищённого потока XChaCha20-Poly1305 с состоянием и явной границей сообщения.sodium_crypto_shorthashПолучить короткий keyed-хеш для внутренней хеш-таблицы; это не подпись и не хеш пароля.sodium_crypto_shorthash_keygenСоздать криптографически случайный ключ правильной длины для семейства Короткий keyed-хеш для внутренних таблиц.sodium_crypto_signСоздать либо обработать цифровую подпись Ed25519 для подтверждения автора и целостности сообщения.sodium_crypto_sign_detachedСоздать либо обработать цифровую подпись Ed25519 для подтверждения автора и целостности сообщения.sodium_crypto_sign_ed25519_pk_to_curve25519Создать либо обработать цифровую подпись Ed25519 для подтверждения автора и целостности сообщения.sodium_crypto_sign_ed25519_sk_to_curve25519Создать либо обработать цифровую подпись Ed25519 для подтверждения автора и целостности сообщения.sodium_crypto_sign_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_sign_keypair_from_secretkey_and_publickeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_sign_openПроверить и открыть защищённое сообщение; отказ нельзя смешивать с допустимой пустой строкой.sodium_crypto_sign_publickeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_sign_publickey_from_secretkeyИзвлечь открытый ключ из упакованной пары или секретного ключа.sodium_crypto_sign_secretkeyИзвлечь секретный ключ из упакованной пары для контролируемого хранения или совместимой операции.sodium_crypto_sign_seed_keypairСоздать или собрать пару ключей в бинарном формате, который ожидают функции этого семейства.sodium_crypto_sign_verify_detachedПроверить криптографическое подтверждение, не раскрывая секретный ключ.sodium_crypto_streamНизкоуровневая потоковая операция; она не аутентифицирует данные и требует отдельного протокола целостности.sodium_crypto_stream_keygenСоздать криптографически случайный ключ правильной длины для семейства Потоковые шифры низкого уровня.sodium_crypto_stream_xchacha20Низкоуровневая потоковая операция; она не аутентифицирует данные и требует отдельного протокола целостности.sodium_crypto_stream_xchacha20_keygenСоздать криптографически случайный ключ правильной длины для семейства Потоковые шифры низкого уровня.sodium_crypto_stream_xchacha20_xorНизкоуровневая потоковая операция; она не аутентифицирует данные и требует отдельного протокола целостности.sodium_crypto_stream_xchacha20_xor_icНизкоуровневая потоковая операция; она не аутентифицирует данные и требует отдельного протокола целостности.sodium_crypto_stream_xorНизкоуровневая потоковая операция; она не аутентифицирует данные и требует отдельного протокола целостности.sodium_hex2binПреобразовать проверенную hex-строку обратно в бинарные байты.sodium_incrementУвеличить большое little-endian число в изменяемой строке.sodium_memcmpСравнить две бинарные строки одинаковой длины за постоянное время.sodium_memzeroЗатереть содержимое изменяемой строки в памяти текущего PHP-процесса.sodium_padДополнить строку до кратной блоку длины по схеме libsodium.sodium_unpadПроверить и снять дополнение libsodium.SPL: полный справочник стандартной библиотеки PHP
AppendIterator::__constructAppendIterator::__construct: создать и настроить объект для дальнейшего обходаAppendIterator::appendAppendIterator::append: добавить ещё один источник в конец общего обходаAppendIterator::currentAppendIterator::current: получить текущее значение без продвижения курсораAppendIterator::getArrayIteratorAppendIterator::getArrayIterator: получить объект, содержащий подключённые внутренние итераторыAppendIterator::getIteratorIndexAppendIterator::getIteratorIndex: узнать номер внутреннего источника, который сейчас отдаёт значениеAppendIterator::keyAppendIterator::key: получить ключ или позицию текущего элементаAppendIterator::nextAppendIterator::next: перевести курсор к следующему элементуAppendIterator::rewindAppendIterator::rewind: попытаться установить курсор на первый элементAppendIterator::validAppendIterator::valid: проверить, указывает ли курсор на существующий элементArrayIterator::__constructArrayIterator::__construct: создать и настроить объект для дальнейшего обходаArrayIterator::appendArrayIterator::append: добавить ещё один источник в конец общего обходаArrayIterator::asortArrayIterator::asort: отсортировать значения, сохранив их ключиArrayIterator::countArrayIterator::count: получить число элементов, которое определяет этот классArrayIterator::currentArrayIterator::current: получить текущее значение без продвижения курсораArrayIterator::getArrayCopyArrayIterator::getArrayCopy: получить обычный массив с текущими данными контейнераArrayIterator::getFlagsArrayIterator::getFlags: прочитать действующую битовую маску режима объектаArrayIterator::keyArrayIterator::key: получить ключ или позицию текущего элементаArrayIterator::ksortArrayIterator::ksort: отсортировать элементы по ключамArrayIterator::natcasesortArrayIterator::natcasesort: отсортировать значения естественно без учёта регистраArrayIterator::natsortArrayIterator::natsort: отсортировать значения естественно с учётом регистраArrayIterator::nextArrayIterator::next: перевести курсор к следующему элементуArrayIterator::offsetExistsArrayIterator::offsetExists: проверить наличие элемента по ключу без чтения несуществующего значенияArrayIterator::offsetGetArrayIterator::offsetGet: прочитать элемент по ключу через ArrayAccessArrayIterator::offsetSetArrayIterator::offsetSet: записать или добавить элемент через ArrayAccessArrayIterator::offsetUnsetArrayIterator::offsetUnset: удалить элемент по ключу через ArrayAccessArrayIterator::rewindArrayIterator::rewind: попытаться установить курсор на первый элементArrayIterator::seekArrayIterator::seek: перейти к заданной позиции обходаArrayIterator::serializeArrayIterator::serialize: получить сериализованное представление состоянияArrayIterator::setFlagsArrayIterator::setFlags: заменить действующую битовую маску режимаArrayIterator::uasortArrayIterator::uasort: отсортировать значения пользовательским сравнением, сохранив ключиArrayIterator::uksortArrayIterator::uksort: отсортировать ключи пользовательским сравнениемArrayIterator::unserializeArrayIterator::unserialize: восстановить состояние из совместимой сериализованной строкиArrayIterator::validArrayIterator::valid: проверить, указывает ли курсор на существующий элементArrayObject::__constructСоздать объект-обёртку вокруг массиваArrayObject::appendДобавить значение с новым целочисленным ключомArrayObject::asortОтсортировать записи по значениям, сохранив ключиArrayObject::countУзнать число записейArrayObject::exchangeArrayЗаменить всё хранилище и получить прежнееArrayObject::getArrayCopyЭкспортировать хранилище в PHP-массивArrayObject::getFlagsПрочитать текущий битовый набор поведенияArrayObject::getIteratorСоздать итератор для текущего хранилищаArrayObject::getIteratorClassУзнать класс будущего итератораArrayObject::ksortОтсортировать по ключам, сохранив значенияArrayObject::natcasesortЕстественно отсортировать значения без учёта регистраArrayObject::natsortЕстественно отсортировать значения с учётом регистраArrayObject::offsetExistsПроверить, существует ли ключArrayObject::offsetGetПрочитать запись по ключуArrayObject::offsetSetЗаписать значение по ключу или добавить в конецArrayObject::offsetUnsetУдалить запись по ключуArrayObject::serializeПолучить внутреннюю строку доверенного снимкаArrayObject::setFlagsИзменить режим доступа к записям и свойствамArrayObject::setIteratorClassВыбрать подкласс ArrayIterator для обходаArrayObject::uasortСортировать значения пользовательским правилом, сохраняя ключиArrayObject::uksortСортировать ключи пользовательским правиломArrayObject::unserializeЗаполнить объект из доверенной строки ArrayObjectCachingIterator::__constructСоздать декоратор с look-ahead, строковым режимом и необязательным полным кешемCachingIterator::__toStringПолучить настроенное строковое представление текущей позицииCachingIterator::countПосчитать накопленные элементы полного кеша, а не весь источникCachingIterator::currentПолучить текущее исходное значение без продвиженияCachingIterator::getCacheПолучить снимок уже накопленных пар ключ/значениеCachingIterator::getFlagsПрочитать действующую битовую маску кеша и строкового представленияCachingIterator::hasNextПроверить соседа справа, не отдавая его текущему потребителюCachingIterator::keyПрочитать исходный ключ текущего элементаCachingIterator::nextПродвинуть внутренний курсор и обновить look-ahead/кешCachingIterator::offsetExistsCachingIterator: проверить наличие ключа в полном кешеCachingIterator::offsetGetCachingIterator: прочитать значение полного кеша по ключуCachingIterator::offsetSetCachingIterator: записать значение только в массив полного кешаCachingIterator::offsetUnsetCachingIterator: удалить ключ только из массива полного кешаCachingIterator::rewindПеремотать повторяемый источник и подготовить первую позициюCachingIterator::setFlagsПолностью заменить маску режимов существующего CachingIteratorCachingIterator::validПроверить наличие текущей позиции после rewind/nextCallbackFilterIterator::__constructСвязать Iterator с функцией-предикатом true/falseCallbackFilterIterator::acceptВызвать callback для текущих value/key/iterator и получить решениеclass_implementsВозвращает интерфейсы, реализованные классом или объектом.class_parentsВозвращает родительские классы объекта или имени класса.class_usesВозвращает трейты, непосредственно используемые классом или трейтом.DirectoryIterator::__constructDirectoryIterator::__construct: создать и настроить объект для дальнейшего обходаDirectoryIterator::__toStringDirectoryIterator::__toString: получить строковое представление текущего элементаDirectoryIterator::currentDirectoryIterator::current: получить текущее значение без продвижения курсораDirectoryIterator::getBasenameDirectoryIterator::getBasename: получить имя текущей записи без пути и, при необходимости, без указанного суффиксаDirectoryIterator::getExtensionDirectoryIterator::getExtension: получить расширение имени текущей записи без ведущей точкиDirectoryIterator::getFilenameDirectoryIterator::getFilename: получить только имя текущей записи без родительского путиDirectoryIterator::isDotDirectoryIterator::isDot: распознать специальные записи текущей и родительской папкиDirectoryIterator::keyDirectoryIterator::key: получить ключ или позицию текущего элементаDirectoryIterator::nextDirectoryIterator::next: перевести курсор к следующему элементуDirectoryIterator::rewindDirectoryIterator::rewind: попытаться установить курсор на первый элементDirectoryIterator::seekDirectoryIterator::seek: перейти к заданной позиции обходаDirectoryIterator::validDirectoryIterator::valid: проверить, указывает ли курсор на существующий элементEmptyIterator::currentEmptyIterator::current: получить текущее значение без продвижения курсораEmptyIterator::keyEmptyIterator::key: получить ключ или позицию текущего элементаEmptyIterator::nextEmptyIterator::next: перевести курсор к следующему элементуEmptyIterator::rewindEmptyIterator::rewind: попытаться установить курсор на первый элементEmptyIterator::validEmptyIterator::valid: проверить, указывает ли курсор на существующий элементFilesystemIterator::__constructFilesystemIterator::__construct: создать и настроить объект для дальнейшего обходаFilesystemIterator::currentFilesystemIterator::current: получить текущее значение без продвижения курсораFilesystemIterator::getFlagsFilesystemIterator::getFlags: прочитать действующую битовую маску режима объектаFilesystemIterator::keyFilesystemIterator::key: получить ключ или позицию текущего элементаFilesystemIterator::nextFilesystemIterator::next: перевести курсор к следующему элементуFilesystemIterator::rewindFilesystemIterator::rewind: попытаться установить курсор на первый элементFilesystemIterator::setFlagsFilesystemIterator::setFlags: заменить действующую битовую маску режимаFilterIterator::__constructПередать готовый Iterator в конструктор конкретного подклассаFilterIterator::acceptОпределить повторно используемое правило принятия текущего элементаFilterIterator::currentFilterIterator: прочитать принятое текущее значениеFilterIterator::keyFilterIterator: прочитать ключ принятой текущей позицииFilterIterator::nextFilterIterator: найти следующую принятую позициюFilterIterator::rewindFilterIterator: найти первую принятую позицию от началаFilterIterator::validFilterIterator: проверить, найдена ли принятая текущая позицияGlobIterator::__constructGlobIterator::__construct: создать и настроить объект для дальнейшего обходаGlobIterator::countGlobIterator::count: получить число элементов, которое определяет этот классInfiniteIterator::__constructInfiniteIterator::__construct: создать и настроить объект для дальнейшего обходаInfiniteIterator::nextInfiniteIterator::next: перевести курсор к следующему элементуiterator_applyВызывает callback для элементов Iterator, пока callback возвращает true.iterator_countПодсчитывает элементы Traversable или массива полным обходом.iterator_to_arrayКопирует элементы Traversable или array в новый массив.IteratorIterator::__constructIteratorIterator::__construct: создать и настроить объект для дальнейшего обходаIteratorIterator::currentIteratorIterator::current: получить текущее значение без продвижения курсораIteratorIterator::getInnerIteratorIteratorIterator::getInnerIterator: получить непосредственно обёрнутый итератор текущего уровняIteratorIterator::keyIteratorIterator::key: получить ключ или позицию текущего элементаIteratorIterator::nextIteratorIterator::next: перевести курсор к следующему элементуIteratorIterator::rewindIteratorIterator::rewind: попытаться установить курсор на первый элементIteratorIterator::validIteratorIterator::valid: проверить, указывает ли курсор на существующий элементLimitIterator::__constructLimitIterator::__construct: создать и настроить объект для дальнейшего обходаLimitIterator::currentLimitIterator::current: получить текущее значение без продвижения курсораLimitIterator::getPositionLimitIterator::getPosition: получить позицию внутри окна LimitIteratorLimitIterator::keyLimitIterator::key: получить ключ или позицию текущего элементаLimitIterator::nextLimitIterator::next: перевести курсор к следующему элементуLimitIterator::rewindLimitIterator::rewind: попытаться установить курсор на первый элементLimitIterator::seekLimitIterator::seek: перейти к заданной позиции обходаLimitIterator::validLimitIterator::valid: проверить, указывает ли курсор на существующий элементMultipleIterator::__constructMultipleIterator::__construct: создать и настроить объект для дальнейшего обходаMultipleIterator::attachIteratorMultipleIterator::attachIterator: подключить ещё один синхронно читаемый итераторMultipleIterator::containsIteratorMultipleIterator::containsIterator: проверить, подключён ли конкретный объект-итераторMultipleIterator::countIteratorsMultipleIterator::countIterators: получить число подключённых синхронных источниковMultipleIterator::currentMultipleIterator::current: получить текущее значение без продвижения курсораMultipleIterator::detachIteratorMultipleIterator::detachIterator: отключить конкретный итератор от синхронного обходаMultipleIterator::getFlagsMultipleIterator::getFlags: прочитать действующую битовую маску режима объектаMultipleIterator::keyMultipleIterator::key: получить ключ или позицию текущего элементаMultipleIterator::nextMultipleIterator::next: перевести курсор к следующему элементуMultipleIterator::rewindMultipleIterator::rewind: попытаться установить курсор на первый элементMultipleIterator::setFlagsMultipleIterator::setFlags: заменить действующую битовую маску режимаMultipleIterator::validMultipleIterator::valid: проверить, указывает ли курсор на существующий элементNoRewindIterator::__constructNoRewindIterator::__construct: создать и настроить объект для дальнейшего обходаNoRewindIterator::currentNoRewindIterator::current: получить текущее значение без продвижения курсораNoRewindIterator::keyNoRewindIterator::key: получить ключ или позицию текущего элементаNoRewindIterator::nextNoRewindIterator::next: перевести курсор к следующему элементуNoRewindIterator::rewindNoRewindIterator::rewind: попытаться установить курсор на первый элементNoRewindIterator::validNoRewindIterator::valid: проверить, указывает ли курсор на существующий элементOuterIterator::getInnerIteratorВозвращает Iterator, который обёрнут текущим OuterIterator.ParentIterator::__constructParentIterator::__construct: Конструктор только связывает источник и режимы Работа с родительских узлов.ParentIterator::acceptParentIterator::accept: Метод отвечает за один текущий узел и не преобразует его значение. Работа с родительских узлов.ParentIterator::getChildrenParentIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с родительских узлов.ParentIterator::hasChildrenParentIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с родительских узлов.ParentIterator::nextParentIterator::next: Метод меняет состояние курсора и не возвращает следующий элемент как значение. Работа с родительских узлов.ParentIterator::rewindParentIterator::rewind: Метод заново устанавливает первый доступный элемент всего соответствующего обхода. Работа с родительских узлов.RecursiveArrayIterator::getChildrenRecursiveArrayIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с вложенного массива.RecursiveArrayIterator::hasChildrenRecursiveArrayIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с вложенного массива.RecursiveCachingIterator::__constructRecursiveCachingIterator::__construct: Конструктор только связывает источник и режимы Работа с кэширующего дерева.RecursiveCachingIterator::getChildrenRecursiveCachingIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с кэширующего дерева.RecursiveCachingIterator::hasChildrenRecursiveCachingIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с кэширующего дерева.RecursiveCallbackFilterIterator::__constructRecursiveCallbackFilterIterator::__construct: Конструктор только связывает источник и режимы Работа с callback-фильтра дерева.RecursiveCallbackFilterIterator::getChildrenRecursiveCallbackFilterIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с callback-фильтра дерева.RecursiveCallbackFilterIterator::hasChildrenRecursiveCallbackFilterIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с callback-фильтра дерева.RecursiveDirectoryIterator::__constructRecursiveDirectoryIterator::__construct: Конструктор только связывает источник и режимы Работа с дерева файлов.RecursiveDirectoryIterator::getChildrenRecursiveDirectoryIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с дерева файлов.RecursiveDirectoryIterator::getSubPathRecursiveDirectoryIterator::getSubPath: Возвращается относительная папка без имени текущей записи и без абсолютного корня. Работа с дерева файлов.RecursiveDirectoryIterator::getSubPathnameRecursiveDirectoryIterator::getSubPathname: Возвращается относительная папка вместе с текущим именем — удобный ключ манифеста. Работа с дерева файлов.RecursiveDirectoryIterator::hasChildrenRecursiveDirectoryIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с дерева файлов.RecursiveDirectoryIterator::keyRecursiveDirectoryIterator::key: Метод читает идентификатор текущей позиции Работа с дерева файлов.RecursiveDirectoryIterator::nextRecursiveDirectoryIterator::next: Метод меняет состояние курсора и не возвращает следующий элемент как значение. Работа с дерева файлов.RecursiveDirectoryIterator::rewindRecursiveDirectoryIterator::rewind: Метод заново устанавливает первый доступный элемент всего соответствующего обхода. Работа с дерева файлов.RecursiveFilterIterator::__constructRecursiveFilterIterator::__construct: Конструктор только связывает источник и режимы Работа с именованного фильтра дерева.RecursiveFilterIterator::getChildrenRecursiveFilterIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с именованного фильтра дерева.RecursiveFilterIterator::hasChildrenRecursiveFilterIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с именованного фильтра дерева.RecursiveIterator::getChildrenВозвращает RecursiveIterator для детей текущего элемента.RecursiveIterator::hasChildrenСообщает, есть ли у текущего элемента дочерний итератор.RecursiveIteratorIterator::__constructRecursiveIteratorIterator::__construct: Конструктор только связывает источник и режимы Работа с рекурсивного стека.RecursiveIteratorIterator::beginChildrenRecursiveIteratorIterator::beginChildren: Hook отмечает вход в дочерний уровень после подготовки его курсора. Работа с рекурсивного стека.RecursiveIteratorIterator::beginIterationRecursiveIteratorIterator::beginIteration: Hook срабатывает один раз перед выдачей первого элемента полного обхода. Работа с рекурсивного стека.RecursiveIteratorIterator::callGetChildrenRecursiveIteratorIterator::callGetChildren: Это явный вызов getChildren() активного источника Работа с рекурсивного стека.RecursiveIteratorIterator::callHasChildrenRecursiveIteratorIterator::callHasChildren: Это явный вызов hasChildren() активного внутреннего рекурсивного источника. Работа с рекурсивного стека.RecursiveIteratorIterator::currentRecursiveIteratorIterator::current: Метод читает текущее значение без продвижения Работа с рекурсивного стека.RecursiveIteratorIterator::endChildrenRecursiveIteratorIterator::endChildren: Hook отмечает возврат после полного исчерпания одного дочернего уровня. Работа с рекурсивного стека.RecursiveIteratorIterator::endIterationRecursiveIteratorIterator::endIteration: Hook срабатывает после исчерпания полного обхода, когда valid() стал false. Работа с рекурсивного стека.RecursiveIteratorIterator::getDepthRecursiveIteratorIterator::getDepth: Нулевой корень и активный стек определяют целую глубину текущего узла. Работа с рекурсивного стека.RecursiveIteratorIterator::getInnerIteratorRecursiveIteratorIterator::getInnerIterator: Возвращается активный внутренний итератор текущего, обычно самого глубокого, уровня. Работа с рекурсивного стека.RecursiveIteratorIterator::getMaxDepthRecursiveIteratorIterator::getMaxDepth: false означает отсутствие собственной границы, int — последний разрешённый уровень. Работа с рекурсивного стека.RecursiveIteratorIterator::getSubIteratorRecursiveIteratorIterator::getSubIterator: Метод открывает конкретный уровень активного стека и позволяет собрать полный путь. Работа с рекурсивного стека.RecursiveIteratorIterator::keyRecursiveIteratorIterator::key: Метод читает идентификатор текущей позиции Работа с рекурсивного стека.RecursiveIteratorIterator::nextRecursiveIteratorIterator::next: Метод меняет состояние курсора и не возвращает следующий элемент как значение. Работа с рекурсивного стека.RecursiveIteratorIterator::nextElementRecursiveIteratorIterator::nextElement: Hook вызывается для каждого узла, готового к выдаче выбранным режимом. Работа с рекурсивного стека.RecursiveIteratorIterator::rewindRecursiveIteratorIterator::rewind: Метод заново устанавливает первый доступный элемент всего соответствующего обхода. Работа с рекурсивного стека.RecursiveIteratorIterator::setMaxDepthRecursiveIteratorIterator::setMaxDepth: Граница меняет разрешённый спуск Работа с рекурсивного стека.RecursiveIteratorIterator::validRecursiveIteratorIterator::valid: false означает отсутствие текущей позиции Работа с рекурсивного стека.RecursiveRegexIterator::__constructRecursiveRegexIterator::__construct: Конструктор только связывает источник и режимы Работа с regex-фильтра дерева.RecursiveRegexIterator::getChildrenRecursiveRegexIterator::getChildren: Метод открывает ровно следующий уровень и возвращает новый рекурсивный итератор. Работа с regex-фильтра дерева.RecursiveRegexIterator::hasChildrenRecursiveRegexIterator::hasChildren: Ответ относится к текущей позиции и не двигает курсор. Работа с regex-фильтра дерева.RecursiveTreeIterator::__constructRecursiveTreeIterator::__construct: Конструктор только связывает источник и режимы Работа с текстового дерева.RecursiveTreeIterator::beginChildrenRecursiveTreeIterator::beginChildren: Hook отмечает вход в дочерний уровень после подготовки его курсора. Работа с текстового дерева.RecursiveTreeIterator::beginIterationRecursiveTreeIterator::beginIteration: Hook срабатывает один раз перед выдачей первого элемента полного обхода. Работа с текстового дерева.RecursiveTreeIterator::callGetChildrenRecursiveTreeIterator::callGetChildren: Это явный вызов getChildren() активного источника Работа с текстового дерева.RecursiveTreeIterator::callHasChildrenRecursiveTreeIterator::callHasChildren: Это явный вызов hasChildren() активного внутреннего рекурсивного источника. Работа с текстового дерева.RecursiveTreeIterator::currentRecursiveTreeIterator::current: Метод читает текущее значение без продвижения Работа с текстового дерева.RecursiveTreeIterator::endChildrenRecursiveTreeIterator::endChildren: Hook отмечает возврат после полного исчерпания одного дочернего уровня. Работа с текстового дерева.RecursiveTreeIterator::endIterationRecursiveTreeIterator::endIteration: Hook срабатывает после исчерпания полного обхода, когда valid() стал false. Работа с текстового дерева.RecursiveTreeIterator::getEntryRecursiveTreeIterator::getEntry: Возвращается строковая часть текущего узла без линий prefix и без postfix. Работа с текстового дерева.RecursiveTreeIterator::getPostfixRecursiveTreeIterator::getPostfix: Возвращается точная общая строка после entry Работа с текстового дерева.RecursiveTreeIterator::getPrefixRecursiveTreeIterator::getPrefix: Возвращаются только линии и окончания ветви, вычисленные из позиции и соседей. Работа с текстового дерева.RecursiveTreeIterator::keyRecursiveTreeIterator::key: Метод читает идентификатор текущей позиции Работа с текстового дерева.RecursiveTreeIterator::nextRecursiveTreeIterator::next: Метод меняет состояние курсора и не возвращает следующий элемент как значение. Работа с текстового дерева.RecursiveTreeIterator::nextElementRecursiveTreeIterator::nextElement: Hook вызывается для каждого узла, готового к выдаче выбранным режимом. Работа с текстового дерева.RecursiveTreeIterator::rewindRecursiveTreeIterator::rewind: Метод заново устанавливает первый доступный элемент всего соответствующего обхода. Работа с текстового дерева.RecursiveTreeIterator::setPostfixRecursiveTreeIterator::setPostfix: Метод меняет только отображение всех последующих строк этого объекта. Работа с текстового дерева.RecursiveTreeIterator::setPrefixPartRecursiveTreeIterator::setPrefixPart: Меняется одна позиционная часть схемы Работа с текстового дерева.RecursiveTreeIterator::validRecursiveTreeIterator::valid: false означает отсутствие текущей позиции Работа с текстового дерева.RegexIterator::__constructСоздать строковый фильтр с pattern, режимом, flags и pregFlagsRegexIterator::acceptСопоставить current() либо key() и решить, попадёт ли элемент в обходRegexIterator::getFlagsПрочитать маску USE_KEY и INVERT_MATCHRegexIterator::getModeПрочитать один действующий режим MATCH/GET_MATCH/ALL_MATCHES/SPLIT/REPLACERegexIterator::getPregFlagsПрочитать флаги preg-функции, меняющие структуру совпадений/частейRegexIterator::getRegexПолучить исходную строку pattern вместе с разделителями и модификаторамиRegexIterator::setFlagsПолностью заменить маску USE_KEY/INVERT_MATCHRegexIterator::setModeЗаменить форму результата на один из пяти режимовRegexIterator::setPregFlagsЗадать PREG_* флаги для структуры результата текущего режимаSeekableIterator::seekУстанавливает текущую позицию SeekableIterator по числовому смещению.spl_autoloadСтандартная реализация автозагрузки по имени класса и расширениям.spl_autoload_callПринудительно вызывает зарегистрированную очередь автозагрузки для имени класса.spl_autoload_extensionsУстанавливает или возвращает расширения файлов для стандартного spl_autoload.spl_autoload_functionsВозвращает текущую очередь зарегистрированных автозагрузчиков.spl_autoload_registerДобавляет callable в очередь автозагрузчиков классов.spl_autoload_unregisterУдаляет ранее зарегистрированный callback автозагрузки.spl_classesВозвращает список доступных классов и интерфейсов SPL.spl_object_hashВозвращает строковый handle живого объекта в текущем процессе.spl_object_idВозвращает целочисленный handle живого объекта в текущем процессе.SplDoublyLinkedList::addВставить новый узел перед позициейSplDoublyLinkedList::bottomПрочитать начало без удаленияSplDoublyLinkedList::countИспользовать количество узлов как ограничениеSplDoublyLinkedList::currentПолучить значение текущей остановкиSplDoublyLinkedList::getIteratorModeПрочитать режим обходаSplDoublyLinkedList::isEmptyНе извлекать работу из пустого спискаSplDoublyLinkedList::keyПолучить номер текущей позицииSplDoublyLinkedList::nextПерейти к следующему узлуSplDoublyLinkedList::offsetExistsВыбрать действие по наличию позицииSplDoublyLinkedList::offsetGetПолучить значение по позицииSplDoublyLinkedList::offsetSetЗаменить узел или явно добавить через nullSplDoublyLinkedList::offsetUnsetУдалить одну позицию маршрутаSplDoublyLinkedList::popВернуть и удалить последний узелSplDoublyLinkedList::prevВернуться на один узелSplDoublyLinkedList::pushДобавить остановку в конецSplDoublyLinkedList::rewindНачать проход с выбранного концаSplDoublyLinkedList::serializeПолучить строку спискаSplDoublyLinkedList::setIteratorModeНастроить направление и удалениеSplDoublyLinkedList::shiftВернуть и удалить первый узелSplDoublyLinkedList::topПрочитать конец без удаленияSplDoublyLinkedList::unserializeВосстановить список из его парной строкиSplDoublyLinkedList::unshiftДобавить остановку перед началомSplDoublyLinkedList::validПродолжать ручной обход только на существующем узлеSplFileInfo::__constructСоздать карточку пути, затем открыть настоящий файл.SplFileInfo::__toStringИспользовать карточку файла как строку пути.SplFileInfo::getATimeПоказать время последнего доступа и принять решение о документе.SplFileInfo::getBasenameУбрать каталог и известный суффикс из имени.SplFileInfo::getCTimeОтличить изменение метаданных от изменения текста.SplFileInfo::getExtensionПолучить расширение для маршрута обработки.SplFileInfo::getFileInfoПолучить подходящий объект для пути или открытого файла.SplFileInfo::getFilenameПолучить имя для подписи ссылки.SplFileInfo::getGroupПолучить числовой идентификатор группы для отчёта.SplFileInfo::getInodeРаспознать одинаковый файловый объект за разными путями.SplFileInfo::getLinkTargetПрочитать записанную в символической ссылке цель, не смешивая её с каноническим путём.SplFileInfo::getMTimeПоказать время изменения содержимого и принять решение о документе.SplFileInfo::getOwnerПолучить числовой идентификатор владельца для отчёта.SplFileInfo::getPathУзнать каталог без имени файла.SplFileInfo::getPathInfoПолучить подходящий объект для пути или открытого файла.SplFileInfo::getPathnameПередать исходный путь следующей операции.SplFileInfo::getPermsПрочитать биты режима и проверить запись отдельно.SplFileInfo::getRealPathРазрешить относительный путь и проверить существование файла.SplFileInfo::getSizeПроверить объём квитанции перед чтением.SplFileInfo::getTypeОтделить каталог от читаемого документа.SplFileInfo::isDirОтделить каталог от читаемого документа.SplFileInfo::isExecutableПредварительно проверить доступность нужного действия.SplFileInfo::isFileОтделить каталог от читаемого документа.SplFileInfo::isLinkОтличить символическую ссылку от обычного файла до чтения.SplFileInfo::isReadableПредварительно проверить доступность нужного действия.SplFileInfo::isWritableПредварительно проверить доступность нужного действия.SplFileInfo::openFileПолучить подходящий объект для пути или открытого файла.SplFileInfo::setFileClassПолучить подходящий объект для пути или открытого файла.SplFileInfo::setInfoClassПолучить подходящий объект для пути или открытого файла.SplFileObject::__constructПрочитать строку настоящего текстового файла.SplFileObject::__toStringВывести текущую строку объекта как текст.SplFileObject::currentПолучить текущую строку без ручного перехода к следующей.SplFileObject::eofПрочитать содержимое до конца, сохранив строку «0».SplFileObject::fflushПередать записанные данные из буфера потока файловой системе.SplFileObject::fgetcПрочитать один байт и не потерять символ «0».SplFileObject::fgetcsvПрочитать поля CSV, сохранив кавычки, разделитель и ноль.SplFileObject::fgetsПрочитать строку настоящего текстового файла.SplFileObject::fgetssПрочитать старый код и выбрать современную обработку HTML.SplFileObject::flockСогласовать запись журнала между работающими процессами.SplFileObject::fpassthruВывести оставшуюся часть файла.SplFileObject::fputcsvЗаписать товар в CSV и прочитать восстановленные поля.SplFileObject::freadПрочитать заданный участок или обработать файл порциями.SplFileObject::fscanfРазобрать строку установленного формата.SplFileObject::fseekСохранить байтовую позицию и прочитать нужный участок.SplFileObject::fstatПроверить размер именно открытого потока.SplFileObject::ftellСохранить байтовую позицию и прочитать нужный участок.SplFileObject::ftruncateУдалить хвост файла или расширить его нулевыми байтами.SplFileObject::fwriteЗаписать сообщение и прочитать полученный файл.SplFileObject::getChildrenПонять, почему строки файла не образуют вложенное дерево.SplFileObject::getCsvControlСогласовать формат CSV между записью и чтением.SplFileObject::getCurrentLineПрочитать строку настоящего текстового файла.SplFileObject::getFlagsВыбрать поведение строк и CSV при обходе.SplFileObject::getMaxLineLenПонять, как лимит разрезает длинную строку на фрагменты.SplFileObject::hasChildrenПонять, почему строки файла не образуют вложенное дерево.SplFileObject::keyУправлять строковой позицией и показывать выбранную строку.SplFileObject::nextУправлять строковой позицией и показывать выбранную строку.SplFileObject::rewindУправлять строковой позицией и показывать выбранную строку.SplFileObject::seekУправлять строковой позицией и показывать выбранную строку.SplFileObject::setCsvControlСогласовать формат CSV между записью и чтением.SplFileObject::setFlagsВыбрать поведение строк и CSV при обходе.SplFileObject::setMaxLineLenПонять, как лимит разрезает длинную строку на фрагменты.SplFileObject::validПрочитать содержимое до конца, сохранив строку «0».SplFixedArray::__constructСоздать заданное число пустых местSplFixedArray::__serializeПолучить массив состояния для восстановленияSplFixedArray::__unserializeЗаполнить объект полученным массивом состоянияSplFixedArray::__wakeupРазобрать старый hook и заменить егоSplFixedArray::countПолучить число выделенных местSplFixedArray::currentИсторический current: перенести вызов на IteratorSplFixedArray::fromArrayИмпортировать значения обычного массиваSplFixedArray::getIteratorПолучить отдельный объект для проходаSplFixedArray::getSizeУзнать допустимую границу индексаSplFixedArray::jsonSerializeПредставить значения для JSONSplFixedArray::keyИсторический key: перенести вызов на IteratorSplFixedArray::nextИсторический next: перенести вызов на IteratorSplFixedArray::offsetExistsПроверить наличие ненулевого значения в местеSplFixedArray::offsetGetПрочитать одно значениеSplFixedArray::offsetSetЗаписать значение в существующее местоSplFixedArray::offsetUnsetОчистить значение без сокращения размераSplFixedArray::rewindИсторический rewind: перенести вызов на IteratorSplFixedArray::setSizeЯвно увеличить или сократить контейнерSplFixedArray::toArrayВыгрузить обычный массив для функций array_*SplFixedArray::validИсторический valid: перенести вызов на IteratorSplHeap::compareОпределить, какая запись важнееSplHeap::countУзнать объём ожидающей работыSplHeap::currentПрочитать текущую вершину итератораSplHeap::extractВернуть вершину и удалить еёSplHeap::insertПоместить новое значение в структуруSplHeap::isCorruptedВыбрать восстановление после исключенияSplHeap::isEmptyПродолжать выдачу до опустошенияSplHeap::keyПрочитать номер оставшейся вершиныSplHeap::nextУдалить вершину при продвиженииSplHeap::recoverFromCorruptionСнять блокировку, не приписывая ей пересортировкуSplHeap::rewindПонять, почему извлечённые элементы не возвращаютсяSplHeap::topПрочитать вершину без удаленияSplHeap::validОстановить ручной обход на пустой структуреSplMaxHeap::compareОпределить, какая запись важнееSplMinHeap::compareОпределить, какая запись важнееSplObjectStorage::addAllДобавить пары из другого хранилищаSplObjectStorage::attachДобавить object и info старым именемSplObjectStorage::containsПроверить object старым именемSplObjectStorage::countПосчитать object-ключиSplObjectStorage::currentПолучить object текущей позицииSplObjectStorage::detachУдалить object старым именемSplObjectStorage::getHashПолучить технический hash по правилу storageSplObjectStorage::getInfoПолучить info текущего objectSplObjectStorage::keyПолучить позицию обходаSplObjectStorage::nextПерейти к следующей записиSplObjectStorage::offsetExistsПроверить наличие конкретного objectSplObjectStorage::offsetGetПолучить info по objectSplObjectStorage::offsetSetДобавить object или заменить его infoSplObjectStorage::offsetUnsetУдалить object и его infoSplObjectStorage::removeAllВычесть объекты другого storageSplObjectStorage::removeAllExceptОставить пересечение с другим storageSplObjectStorage::rewindВернуть итератор к первой записиSplObjectStorage::seekПерейти к позиции итератораSplObjectStorage::serializeПолучить строку доверенного снимкаSplObjectStorage::setInfoЗаменить info текущей записиSplObjectStorage::unserializeЗаполнить storage из доверенной строкиSplObjectStorage::validПроверить, можно ли читать текущую позициюSplObserver::updateПолучает уведомление от SplSubject и выполняет реакцию наблюдателя.SplPriorityQueue::compareОпределить, какая запись важнееSplPriorityQueue::countУзнать объём ожидающей работыSplPriorityQueue::currentПрочитать текущую вершину итератораSplPriorityQueue::extractВернуть вершину и удалить еёSplPriorityQueue::getExtractFlagsПрочитать формат выдачиSplPriorityQueue::insertПоместить новое значение в структуруSplPriorityQueue::isCorruptedВыбрать восстановление после исключенияSplPriorityQueue::isEmptyПродолжать выдачу до опустошенияSplPriorityQueue::keyПрочитать номер оставшейся вершиныSplPriorityQueue::nextУдалить вершину при продвиженииSplPriorityQueue::recoverFromCorruptionСнять блокировку, не приписывая ей пересортировкуSplPriorityQueue::rewindПонять, почему извлечённые элементы не возвращаютсяSplPriorityQueue::setExtractFlagsВыбрать данные, приоритет или обаSplPriorityQueue::topПрочитать вершину без удаленияSplPriorityQueue::validОстановить ручной обход на пустой структуреSplQueue::dequeueПолучить и удалить первое заданиеSplQueue::enqueueПоставить работу в конец FIFO-очередиSplSubject::attachРегистрирует объект SplObserver для будущих уведомлений.SplSubject::detachУдаляет SplObserver из списка будущих уведомлений.SplSubject::notifyВызывает обновление зарегистрированных observers.SplTempFileObject::__constructПодготовить временный документ с порогом хранения в памяти.SQLite3: полный справочник локальной базы, команд и результатов
SQLite3::__constructНужно хранить каталог или локальную очередь, не поднимая сервер базы. Конструктор создаёт соединение с файлом либо временной базой.SQLite3::backupСохранить согласованную копию или перенести базу между памятью и файлом.SQLite3::busyTimeoutНе проваливать операцию мгновенно, если другой процесс ненадолго пишет тот же файл.SQLite3::changesПонять, произошло ли ожидаемое изменение, и не назвать отсутствующий товар успешно обновлённым.SQLite3::closeОсвободить соединение и его блокировки сразу после локального отчёта.SQLite3::createAggregateСвернуть много строк в один показатель, постепенно сохраняя только нужное состояние.SQLite3::createCollationСделать SQL-сортировку и сравнение похожими на ожидаемые пользователем.SQLite3::createFunctionИспользовать понятное PHP-правило в SQL, когда встроенного выражения недостаточно.SQLite3::enableExceptionsПрекратить цепочку действий при ошибке SQL и обработать отказ в одном месте.SQLite3::enableExtendedResultCodesРазрешить коду приложения получать уточнённые причины в общем канале ошибок.SQLite3::escapeStringПонять и поддержать старую сборку SQL-литералов, предпочтя параметры в новом коде.SQLite3::execСоздать таблицу, изменить остаток или завершить транзакцию, когда набор строк не нужен.SQLite3::lastErrorCodeПолучить машинный код последнего отказа, а не разбирать локализованный текст.SQLite3::lastErrorMsgПолучить описание технической ошибки для разработчика.SQLite3::lastExtendedErrorCodeПонять конкретную причину общего отказа ограничения.SQLite3::lastInsertRowIDСвязать позиции заказа с только что созданной записью.SQLite3::loadExtensionДобавить SQLite нативную возможность, например приблизительный поиск, которой нет в стандартной библиотеке.SQLite3::openПереподключить уже существующий объект после close или управлять открытием в наследнике.SQLite3::openBlobРаботать с бинарным вложением частями, не загружая весь BLOB в PHP-строку.SQLite3::prepareПринять id или имя из приложения, сохранив SQL-команду неизменной.SQLite3::queryПолучить таблицу строк каталога, чтобы прочитать её по одной.SQLite3::querySingleБыстро получить сумму, количество либо одну карточку товара.SQLite3::setAuthorizerПроверить разрешённые действия при подготовке SQL, например для ограниченного просмотрщика отчётов.SQLite3::versionПроверить возможности фактической SQLite-библиотеки в установленном PHP.SQLite3Result::__constructРазобраться, как возникает объект результата, не пытаясь собирать его вручную.SQLite3Result::columnNameПостроить заголовок результата без знания схемы заранее.SQLite3Result::columnTypeВыбрать способ отображения текущего значения или найти неожиданную строку вместо числа.SQLite3Result::fetchAllПолучить небольшой результат целиком для преобразования в JSON или шаблон.SQLite3Result::fetchArrayПреобразовать следующую SQL-строку в PHP-массив для страницы или экспорта.SQLite3Result::finalizeОсвободить курсор, чтобы он не держал ресурсы и не мешал следующему выполнению.SQLite3Result::numColumnsСформировать ширину таблицы/экспорта из метаданных результата.SQLite3Result::resetПовторно прочитать простой SELECT, когда нужен второй проход.SQLite3Stmt::__constructПонять, откуда берётся объект команды и почему его не создают через new.SQLite3Stmt::bindParamМного раз исполнить одну команду, меняя значение заранее привязанной переменной.SQLite3Stmt::bindValueЗафиксировать значение формы или массива для одного места подготовленного запроса.SQLite3Stmt::busyНайти statement, который ещё держит незаконченный просмотр.SQLite3Stmt::clearУбрать все старые значения перед новым набором параметров.SQLite3Stmt::closeУбрать больше не нужную подготовленную команду из долгого процесса.SQLite3Stmt::executeЗапустить подготовленную команду после передачи значений.SQLite3Stmt::explainПроверить, почему команда сейчас возвращает диагностические строки вместо товара.SQLite3Stmt::getSQLПонять, какой шаблон выполняет обёртка, и найти забытое значение.SQLite3Stmt::paramCountПроверить устройство подготовленного запроса при построении обёртки.SQLite3Stmt::readOnlyКлассифицировать подготовленную команду для диагностики или маршрутизации.SQLite3Stmt::resetПодготовить команду к повторному выполнению, сохранив её SQL и параметры.SQLite3Stmt::setExplainПереключить ту же команду между обычным выполнением и исследованием плана.Streams: потоки, контексты, фильтры и свои протоколы
php_user_filter::filterПринять входные блоки, учесть байты и выдать преобразованные блоки либо запросить следующий вход.php_user_filter::onCloseОсвободить ресурсы экземпляра после завершения фильтра, не формируя новые выходные данные.php_user_filter::onCreateПроверить параметры и подготовить состояние экземпляра до обработки данных.stream_bucket_appendПоместить обработанный блок в конец выходной очереди фильтра.stream_bucket_make_writeableИзвлечь следующий входной блок для изменения либо получить null, когда очередь пуста.stream_bucket_newСоздать отдельный блок байтов для последующей передачи из пользовательского фильтра.stream_bucket_prependВставить блок в начало текущей очереди, не меняя уже отправленную часть потока.stream_context_get_defaultПолучить общий контекст, понимая изменение состояния при переданных options.stream_context_get_optionsПосмотреть сохранённые wrapper-настройки ресурса, не открывая соединение.stream_context_get_paramsПолучить параметры контекста вместе с wrapper-options, например для диагностики регистрации notification.stream_context_set_defaultЯвно дополнить общую политику контекста там, где код владеет всем процессом.stream_context_set_optionУстановить одно значение wrapper-настройки в существующем контексте или потоке.stream_context_set_optionsДополнить контекст набором wrapper-настроек без устаревшей перегрузки set_option.stream_context_set_paramsЗарегистрировать параметры контекста, прежде всего callback уведомлений.stream_copy_to_streamПеренести байты между открытыми ресурсами и проверить фактически скопированный объём.stream_filter_appendДобавить преобразование в конец цепочки чтения или записи открытого потока.stream_filter_prependДобавить преобразование в начало цепочки чтения или записи открытого потока.stream_filter_registerСвязать имя фильтра с классом, который PHP будет создавать для цепочки потока.stream_filter_removeЗавершить накопленные данные и отсоединить конкретный фильтр, сохранив поток открытым.stream_get_contentsПрочитать оставшиеся байты уже открытого потока в строку, учитывая позицию и память.stream_get_filtersПолучить зарегистрированные имена и семейства фильтров текущей сборки и выполнения PHP.stream_get_lineПрочитать фрагмент до выбранного разделителя без включения разделителя в результат.stream_get_meta_dataПолучить диагностическое состояние открытого потока и учитывать различия wrapper.stream_get_transportsПолучить перечень зарегистрированных транспортов сокетов для выбора поддерживаемого маршрута.stream_get_wrappersУзнать зарегистрированные схемы открытия потоков, отделяя доступность от разрешённости.stream_is_localРазличить классификацию local/URL wrapper без ложного обещания безопасности пути.stream_isattyПроверить терминальное назначение CLI-потока, чтобы не загрязнять перенаправленный вывод.stream_notification_callbackРеализовать свой обработчик уведомлений о работе HTTP/FTP-потока.stream_register_wrapperСвязать собственную схему URL с классом-обработчиком потоков.stream_resolve_include_pathРазрешить имя своего файла по include_path, не исполняя его.stream_selectДождаться готовности потоков и обработать изменённые наборы без предположения о полной передаче.stream_set_blockingВыбрать, должен ли поддерживаемый поток ждать данные, и организовать продолжение отдельно.stream_set_chunk_sizeНастроить внутреннюю порцию потока и сохранить прежнее значение для восстановления.stream_set_read_bufferПопросить wrapper изменить буферизацию чтения и проверить, принял ли он запрос.stream_set_timeoutОграничить ожидание данных в поддерживаемом потоке и после операции проверить timed_out.stream_set_write_bufferЗапросить размер буферизации записи, предусмотрев неподдерживаемый wrapper.stream_socket_acceptПринять одну входящую TCP-подобную связь и получить отдельный ресурс клиента.stream_socket_clientОткрыть клиентский stream к выбранному адресу и отдельно вести протокол обмена.stream_socket_enable_cryptoСогласовать TLS на уже открытом socket stream, различая успех, отказ и продолжение non-blocking handshake.stream_socket_get_nameПолучить локальное или удалённое имя существующего socket stream.stream_socket_pairСоздать два соединённых socket stream для локального двустороннего обмена.stream_socket_recvfromПолучить байты непосредственно из сокета, при необходимости вместе с адресом отправителя.stream_socket_sendtoПередать сообщение выбранному socket-адресату и проверить число отправленных байтов.stream_socket_serverСоздать локальный адрес для входящих соединений, отделяя listener от принятого клиента.stream_socket_shutdownЗавершить выбранное направление full-duplex связи, отделяя это от закрытия ресурса.stream_supports_lockУзнать поддержку flock перед выбором стратегии синхронизации.stream_wrapper_registerСвязать собственную схему URL с классом-обработчиком потоков.stream_wrapper_restoreВернуть встроенный обработчик схемы PHP после его отмены или подмены.stream_wrapper_unregisterУдалить схему из реестра будущих открытий, сохранив жизнь уже открытых потоков.streamWrapper::__constructПодготовить независимый объект обработчика перед операцией над адресом.streamWrapper::__destructЗавершить жизнь объекта wrapper, различая её с закрытием самого потока.streamWrapper::dir_closedirОсвободить ресурсы открытого перечисления каталога.streamWrapper::dir_opendirПодготовить отдельный источник имён каталога по URL.streamWrapper::dir_readdirВернуть следующее имя каталога либо строго false при завершении обхода.streamWrapper::dir_rewinddirСбросить iterator каталога к началу для следующего readdir.streamWrapper::mkdirСоздать каталог в хранилище wrapper с учётом режима и запроса рекурсивного создания.streamWrapper::renameПереименовать файл или каталог, проверив исходный и целевой адреса.streamWrapper::rmdirУдалить поддерживаемый каталог, не превращая вызов в неявное рекурсивное удаление.streamWrapper::stream_castПредоставить PHP внутренний ресурс, пригодный для запрошенного низкоуровневого действия.streamWrapper::stream_closeОсвободить ресурсы конкретного открытого потока при fclose.streamWrapper::stream_eofСообщить настоящий конец источника без потребления данных.streamWrapper::stream_flushСбросить собственный кэш wrapper в нижележащее хранилище.streamWrapper::stream_lockВыполнить настоящую совместимую блокировку источника либо честно отказать.streamWrapper::stream_metadataИзменить время, режим или владельца по URL согласно конкретному option.streamWrapper::stream_openПодготовить экземпляр wrapper для конкретного адреса и режима открытия.streamWrapper::stream_readВернуть следующую порцию байтов из источника и обновить его позицию.streamWrapper::stream_seekИзменить позицию доступного для перемотки источника относительно начала, текущей позиции или конца.streamWrapper::stream_set_optionПеревести запрос blocking, таймаута или буфера в настройку underlying ресурса.streamWrapper::stream_statСообщить сведения stat для уже открытого stream resource.streamWrapper::stream_tellВернуть текущую внутреннюю позицию источника для согласования операций seek.streamWrapper::stream_truncateИзменить размер открытого хранилища по запросу ftruncate.streamWrapper::stream_writeЗаписать доступное количество входных байтов и вернуть точное число принятых.streamWrapper::unlinkУдалить файл по адресу в пределах возможностей и полномочий wrapper.streamWrapper::url_statПолучить stat-сведения по адресу, включая тихие проверки существования и сведения о ссылке.Потоки, обёртки и контексты: читать и писать данные по шагам
Строковые функции: полный справочник Strings
addcslashesВ диагностической строке есть табуляция или перенос, и нужно увидеть их как символы \t и \n, не разрывая запись журнала. addcslashes экранирует выбранный набор байтов. Что именно экранировать, указывается во втором аргументе.addslashesВ старом текстовом формате кавычки сохранялись с обратной косой чертой: O'Neil записывался как O\'Neil. addslashes создаёт именно такое представление. Это полезно при поддержке согласованного старого формата, но не является универсальной защитой пользовательских данных.bin2hexВ импортируемом файле перед первой колонкой оказался невидимый знак. bin2hex помогает увидеть точные байты: каждый байт превращается в две шестнадцатеричные цифры. Это способ диагностики, а не шифрование.chopУбрать окончание прочитанной строки, сохранив отступы и пробелы самого текста. chop — другое имя rtrim; в новом коде rtrim понятнее показывает направление.chrНекоторые устройства ожидают двоичный протокол: команду и значение передают отдельными байтами. chr создаёт ровно один байт из числа. Сначала увидим печатаемый ASCII-байт, затем соберём небольшой полностью описанный учебный пакет.chunk_splitДлинную ASCII-запись нужно разбить на строки фиксированной длины — например транспортное представление файла. chunk_split вставляет разделитель после каждого блока, включая последний. Результат — одна строка, а не массив.convert_cyr_stringПеренести старый кириллический импорт на явные имена кодировок в PHP 8.convert_uudecodeВ старом экспорте находится печатный uuencode-блок. Нужно получить исходные байты, а затем уже разбирать запись остатков. Декодирование снимает транспортное представление; оно не проверяет структуру товара и не выбирает, куда сохранять файл.convert_uuencodeПри поддержке старого обмена встретилось требование передать содержимое в uuencode. Эта функция превращает исходные байты в печатный блок. Это исторический транспортный формат, а не шифрование: получатель свободно восстановит исходное содержимое.count_charsВ строке хранится короткий ответ устройства: A означает один вид события, B — другой. Нужно посчитать частоту каждого байта, а не искать отдельную подстроку. count_chars возвращает такую частотную таблицу; для русских букв UTF-8 это неподходящая единица подсчёта.crc32Устройство присылает короткий пакет с контрольной суммой CRC32. Она помогает обнаруживать случайное повреждение байтов. Чтобы сравнивать её между платформами, заранее выбирают представление: например, восемь шестнадцатеричных знаков.cryptПри переносе старого сайта нужно проверить пароль по уже сохранённой crypt-записи, затем заменить её современным password_hash. Сама crypt лишь вычисляет хеш по заданным параметрам: она не хранит пользователей, не создаёт сессию и не «расшифровывает» пароль.echoПрограмма может вычислить цену и сохранить её в переменной, но человек ничего не увидит, пока вы не направите результат в вывод. echo делает именно это. В консоли появляется текст; в веб-приложении этот текст входит в HTTP-ответ, который затем отображает браузер.fprintfНужно записать оформленную строку прямо в открытый файл отчёта. fprintf принимает файловый поток, формат и отдельные значения. Имя файла сначала открывают через fopen; функция не принимает путь вместо потока.get_html_translation_tableПри отладке кодирования нужно понять, какие символы выбранный HTML-режим заменит и чем. get_html_translation_table возвращает таблицу соответствий. Это инструмент изучения и диагностики, а не повод писать собственную замену htmlspecialchars.hebrevВ старых системах с однобайтовым ивритом буквы могли переставлять перед показом, потому что устройство ожидало визуальный порядок. Для такого наследованного формата существует hebrev. Современный браузер сам обрабатывает направление Unicode-текста: ниже показаны оба случая и их разные результаты.hebrevcПосле перехода старого сайта на PHP 8 вызов hebrevc перестал существовать. Исторически он сочетал перестановку иврита с HTML-переносами. Для нового UTF-8-текста нужно сохранить логический порядок, экранировать данные, добавить переносы и задать направление в HTML.hex2binВ документации или журнале пакет часто записан символами 02105003, но устройству нужны четыре настоящих байта. hex2bin восстанавливает байты из такой шестнадцатеричной записи. Это не превращение всей записи в одно число.html_entity_decodeИз известного HTML-представления нужно получить обычную подпись для текстового отчёта: © должно стать ©, & — &. html_entity_decode раскрывает сущности выбранного типа документа. Самостоятельно теги она не удаляет.htmlentitiesДля совместимости с HTML-представлением нужно записать символы, у которых есть именованные сущности, через эти сущности. htmlentities делает больше замен, чем htmlspecialchars. Для обычной UTF-8-страницы чаще достаточно htmlspecialchars: все буквы в сущности превращать не требуется.htmlspecialchars_decodeВ старом хранилище название сохранено как HTML-запись, например Кисть & валик. Для обычного текстового отчёта нужно вернуть исходный знак &. htmlspecialchars_decode раскрывает только специальные HTML-знаки, а не все именованные сущности.joinВ чужом коде встретилось join, а вам нужно собрать названия товаров в одну подпись. Это другое имя implode с тем же поведением, а не отдельный способ соединения. Можно читать оба имени; внутри проекта полезно выбрать одно соглашение.lcfirstВ генераторе схемы нужно получить lowerCamelCase-имя технического поля из PascalCase. lcfirst меняет только первый ASCII-байт, если это буква нужного регистра. Остальная строка сохраняется.levenshteinПредложить близкий ASCII-артикул после небольшой опечатки, измерив число правок.localeconvНужно узнать, какие разделители сейчас выбраны системными правилами числа: точка или запятая, есть ли группировка тысяч. localeconv возвращает массив этих сведений. Она сама не форматирует сумму и не определяет валюту по тексту пользователя.ltrimСнять служебный отступ слева, сохранив значимые пробелы справа.md5В старом обмене рядом с текстовым пакетом уже хранится MD5-сумма. Нужно вычислить такую же запись и понять, совпали ли байты. Этот исторический формат бывает нужен для совместимости; для защиты от подделки или хранения паролей он не подходит.md5_fileСтарый поставщик передал файл остатков и MD5-сумму его содержимого. Нужно прочитать локальный файл, вычислить сумму и решить, можно ли продолжать разбор. Файл из примера входит в скачиваемый набор; ниже показаны и его текст, и результат проверки.metaphoneПредложить кандидатов по похожему английскому звучанию, когда пользователь не уверен в написании имени.money_formatПеренести старое валютное оформление на доступный PHP 8 инструмент с явно указанной локалью и валютой.nl2brПокупатель написал комментарий в две строки, а на странице они слились. В обычном HTML перевод строки в исходнике не создаёт визуальный перенос. nl2br вставляет тег br перед переводом строки, поэтому комментарий можно показать с сохранением строк.nl_langinfoПрочитать один системный элемент локали, например десятичный разделитель, на платформе с этой функцией.number_formatЧеловек должен увидеть «12 345,50 руб.», а в программе хранится число 12345.5. number_format создаёт строку с выбранными разделителями и количеством дробных знаков. Это завершающий этап отображения, а не способ хранить деньги или разбирать ввод.ordОт устройства пришли байты, а PHP должен получить их числовые значения. ord читает один байт и возвращает число от 0 до 255. Это обратная сторона chr, но не декодер целого Unicode-символа.parse_strЕсть строка параметров URL, например из сохранённой ссылки на фильтр. parse_str разбирает её в PHP-массив, как это обычно делает PHP для query-параметров запроса. Ответ записывается во второй аргумент, а не возвращается как значение функции.printНужно вывести готовое сообщение одной командой. print, как и echo, направляет текст в текущий вывод. В старом коде вы также можете встретить использование результата print: это всегда число 1, а не длина текста и не подтверждение доставки клиенту.printfНужна строка отчёта сразу в выводе: printf печатает результат форматирования и возвращает число выведенных байтов. В отличие от sprintf его результатом не является сам текст.quoted_printable_decodeПри чтении сохранённого письма нужно превратить quoted-printable тело обратно в текстовые байты. Функция восстанавливает =HH и убирает мягкие переносы. Само письмо с заголовками сначала разбирает MIME-парсер, который определяет формат именно этой части.quoted_printable_encodeВ сыром письме вместо é видны последовательности =C3=A9. Это может быть quoted-printable: способ транспортной записи тела MIME-части. Сначала посмотрим исходный текст и его представление, затем — служебный перенос длинной строки.quotemetaПонять старый ограниченный способ экранирования метасимволов и выбрать полный инструмент для регулярного выражения.rtrimУбрать окончание прочитанной строки, сохранив отступы и пробелы самого текста.setlocaleВ приложении число 12.5 должно превратиться в строку amount=12.50 для старого текстового протокола. Некоторые операции форматирования учитывают локаль процесса и могут выбрать иной разделитель. setlocale меняет системные правила выбранной категории; это не перевод текста и не перекодирование строк.sha1В старом обмене рядом с текстовым пакетом уже хранится SHA-1-сумма. Нужно вычислить такую же запись и понять, совпали ли байты. Этот исторический формат бывает нужен для совместимости; для защиты от подделки или хранения паролей он не подходит.sha1_fileСтарый поставщик передал файл остатков и SHA-1-сумму его содержимого. Нужно прочитать локальный файл, вычислить сумму и решить, можно ли продолжать разбор. Файл из примера входит в скачиваемый набор; ниже показаны и его текст, и результат проверки.similar_textПоказать грубую оценку похожести двух коротких технических подписей при ручной сверке.soundexПредложить кандидатов по похожему английскому звучанию, когда пользователь не уверен в написании имени.sscanfУстройство или старая программа передаёт короткую строку известного формата, например T=23.5 H=48. sscanf извлекает значения по шаблону и сразу преобразует числовые части. После разбора нужно проверить, что получены все поля и не осталось неожиданного хвоста.str_decrementВ приложении с учебными обозначениями полок нужен предыдущий буквенно-цифровой код. str_decrement реализует ASCII-последовательность с переносом между разрядами; это не арифметика номера заказа.str_getcsvВ выгрузке поставщика название товара содержит запятую и кавычки. Обычное explode разделило бы название на лишние поля. str_getcsv понимает кавычки одной CSV-записи и возвращает именно её поля.str_incrementВ приложении с учебными обозначениями полок нужен следующий буквенно-цифровой код. str_increment реализует ASCII-последовательность с переносом между разрядами; это не арифметика номера заказа.str_ireplaceВ служебном англоязычном уведомлении встречается один и тот же маркер с разным регистром. str_ireplace заменяет все совпадения без учёта ASCII-регистра. Русские буквы в современном PHP так не сопоставляются.str_padНа наклейке нужен номер фиксированного вида, например 000042 вместо 42. str_pad дополняет строку до минимальной длины выбранным заполнителем. Длинный номер он не обрезает.str_repeatНужна короткая линия в текстовом отчёте или наглядная шкала из повторяющихся знаков. str_repeat создаёт строку из указанного числа копий. Повторяется вся переданная строка, а не только первый символ.str_rot13Скрыть ответ ASCII-загадки от случайного взгляда обратимым ROT13-преобразованием.str_shuffleДля простой головоломки нужно переставить английские буквы слова и показать их игроку. str_shuffle возвращает новую строку с теми же байтами в случайном порядке. Для русских букв UTF-8 побайтовая перестановка разрушит символы.str_splitДлинный ASCII-код удобнее прочитать группами. str_split возвращает массив кусочков заданной длины в байтах, после чего их можно соединить дефисом или обработать по отдельности.str_word_countНужно посчитать слова в короткой английской подписи, получить их список или позиции. str_word_count предлагает три режима. Для русского UTF-8-текста эта байтовая функция не подходит: выбор инструмента зависит от языка и того, что ваш продукт считает словом.strcasecmpДве технические строки нужно сравнить побайтово: равны ли они и какая должна стоять раньше. Это лексикографическое сравнение, а не разбор чисел внутри имён. ASCII-регистр при сравнении игнорируется.strchrИз простой записи имя=значение нужно получить часть до или после первого разделителя. strchr — псевдоним strstr, с тем же поведением. В отличие от strpos здесь возвращается сама строка, а не её позиция.strcmpДве технические строки нужно сравнить побайтово: равны ли они и какая должна стоять раньше. Это лексикографическое сравнение, а не разбор чисел внутри имён. Регистр значим.strcollНужно расположить текстовые подписи по правилам выбранной системной локали. strcoll сравнивает две строки по этим правилам. Её результат используют для порядка списка; точное равенство идентификаторов и секретов проверяют другими средствами.strcspnНужно найти длину первого поля до любого из нескольких разделителей. strcspn считает начальные байты, пока они НЕ входят в запрещённый набор. Это обратное по смыслу правило относительно strspn.strip_tagsИз собственного короткого HTML-фрагмента нужно получить черновой текст без тегов, например для внутренней подписи. strip_tags удаляет теги, но не понимает смысл абзацев и не является очистителем безопасного HTML. Разница видна непосредственно в результате.stripcslashesВ оговорённом текстовом формате переносы записаны буквальными символами \n. Нужно восстановить настоящий многострочный текст. stripcslashes понимает C-подобные последовательности; применять её к любой строке из формы или к пути нельзя.striposСлужебная метка в ASCII-тексте может прийти с разным регистром. stripos находит её позицию без учёта ASCII-регистра; в PHP 8.2+ русские буквы так не сравниваются.stripslashesВ известном старом хранилище имя содержит лишний слой addslashes, и человеку показывается O\'Neil. stripslashes снимает этот слой. Если строка не была записана таким способом, функция может удалить полезные обратные черты и испортить данные.stristrВ служебном ответе нужно получить часть текста от метки STATUS:, независимо от её ASCII-регистра. В отличие от strpos здесь возвращается сама строка, а не её позиция.strnatcasecmpНомера фотографий в списке должны идти как 1, 2, 10, а не 1, 10, 2. Естественное сравнение замечает группы цифр внутри строк. ASCII-регистр при сравнении игнорируется.strnatcmpНомера фотографий в списке должны идти как 1, 2, 10, а не 1, 10, 2. Естественное сравнение замечает группы цифр внутри строк. Регистр значим.strncasecmpНужно сравнить только первые несколько байтов технического сообщения, оставив остальную часть нетронутой. strncasecmp ограничивает сравнение длиной, но не проверяет, что строки полностью равны. Регистр ASCII игнорируется.strncmpНужно сравнить только первые несколько байтов технического сообщения, оставив остальную часть нетронутой. strncmp ограничивает сравнение длиной, но не проверяет, что строки полностью равны.strpbrkВ короткой служебной записи первый разделитель может быть запятой или точкой с запятой. strpbrk находит первый байт из выбранного набора и возвращает хвост от него. Это позволяет определить, где закончился первый элемент.strrchrУ имени выгрузки несколько точек, и нужно получить часть от последней. strrchr ищет последний разделитель, но использует только первый байт needle. Для полного окончания вроде .tar.gz это не специальный анализ расширений.strrevВ учебном словесном приложении нужно проверить, одинаково ли ASCII-слово читается с двух сторон. strrev разворачивает порядок байтов. Для пользовательского Unicode-текста это опасное ограничение: байты буквы нельзя переставлять как отдельные буквы.strriposИмя файла лежит в составном текстовом пути. Нужно найти последний /, чтобы отделить папку от имени. strripos возвращает последнюю подходящую позицию; strripos игнорирует ASCII-регистр.strrposИмя файла лежит в составном текстовом пути. Нужно найти последний /, чтобы отделить папку от имени. strrpos возвращает последнюю подходящую позицию; регистр учитывается.strspnИз номера партии вида 123-PAINT нужно узнать длину начальной цифровой части. strspn идёт с начала выбранного участка, пока каждый байт входит в разрешённый набор. Число результата говорит о длине префикса, а не о числовом значении.strstrИз простой записи имя=значение нужно получить часть до или после первого разделителя. В отличие от strpos здесь возвращается сама строка, а не её позиция.strtokВ простой настройке коды разделены запятыми, точками с запятой и пробелами. Нужно получать по одному непустому коду. strtok запоминает место чтения между вызовами; это удобно в коротком линейном разборе, но требует осторожности при вложенных разборах.strtoupperМагазин принимает регистронезависимый ASCII-промокод. Перед поиском нужно привести введённую копию к согласованному верхнему регистру. Это допустимо, только если правило промокодов действительно не различает регистр.substr_compareВ технической строке известны позиции отдельных полей. substr_compare сравнивает участок с ожидаемой меткой, не требуя сначала выделять его в отдельную строку через substr.substr_countВ текстовом шаблоне нужно узнать, сколько мест для подстановки заданной метки. substr_count считает неперекрывающиеся точные вхождения. Он не заменяет их и не считает слова по языковым правилам.substr_replaceНужно изменить известный участок технической строки: заменить код склада в этикетке или вставить разделитель в номер. substr_replace задаёт место и длину заменяемого участка. Это отличается от поиска всех совпадений через str_replace.ucfirstВ генераторе схемы нужно получить PascalCase-метку из lowerCamelCase. ucfirst меняет только первый ASCII-байт, если это буква нужного регистра. Остальная строка сохраняется.ucwordsВ собственном англоязычном каталоге нужно оформить короткую рубрику заглавными буквами в начале слов. ucwords меняет первые ASCII-буквы после выбранных разделителей, но не понимает правила имён людей или заголовков разных языков.utf8_decodeСтарый получатель умеет только ISO-8859-1, а сайт хранит UTF-8. utf8_decode исторически переводила текст в этот узкий набор. Символов русского языка и евро там нет: они теряются и превращаются в ?. Функция устарела с PHP 8.2; экспорт должен явно решать, допустимы ли потери.utf8_encodeВ старом импорте имя Café хранится в ISO-8859-1. Чтобы показать его на UTF-8-странице, нужны другие байты. utf8_encode исторически выполняла именно это одно преобразование. Несмотря на имя, она не умеет определять любую исходную кодировку; с PHP 8.2 функция устарела.vfprintfНужно записать оформленную строку прямо в открытый файл отчёта. vfprintf принимает файловый поток, формат и массив значений. Имя файла сначала открывают через fopen; функция не принимает путь вместо потока.vprintfДанные уже находятся в массиве: название товара и количество. vprintf подставляет элементы массива в формат по порядку. Сразу выводит строку и возвращает число выведенных байтов.vsprintfДанные уже находятся в массиве: название товара и количество. vsprintf подставляет элементы массива в формат по порядку. Возвращает готовую строку для дальнейшей работы.wordwrapВ простом текстовом отчёте для англоязычного терминала нужно переносить длинное предложение по словам. wordwrap ищет пробелы около заданной ширины. Эта ширина измеряется байтами, а не пикселями или буквами Unicode.Строки, Unicode и безопасное отображение
explodeИз простой записи или списка нужно получить отдельные значения: например теги товара, перечисленные через запятую. explode разрезает строку по точному разделителю и возвращает массив. Он не распознаёт кавычки CSV и не превращает текстовые числа в числа.htmlspecialcharsЧитатель должен увидеть название «Кабель <Pro> & крепёж» именно как текст. Без обработки браузер может принять <Pro> за тег. htmlspecialchars сохраняет смысл текста, заменяя специальные знаки на запись, безопасную в обычном HTML-тексте и значении атрибута в кавычках.implodeЕсть несколько отдельных названий, а для письма или подписи нужна одна строка. implode ставит разделитель между значениями массива. Он не решает, какие данные выбрать: сначала подготовьте нужные строки, затем соедините их.mb_strlenФорма разрешает название длиной до десяти символов. Для русского UTF-8-текста strlen посчитает байты, и короткое слово ошибочно покажется слишком длинным. mb_strlen считает кодовые точки: для обычного слова «Кисть» это пять букв. Составные видимые знаки требуют отдельного понятия графемы.mb_strtolowerВ поисковом поле покупатель написал «КИСТЬ», а товар называется «Кисть». Для простого русского поиска можно сравнить копии в нижнем регистре и вывести исходное название. mb_strtolower понимает Unicode-буквы; обычная strtolower для этой задачи с кириллицей не подходит.mb_substrНужно получить короткое превью русского названия, не обрывая UTF-8-букву посередине. mb_substr выбирает часть по позициям кодовых точек. Сначала возьмём слово из известной строки, затем добавим многоточие только там, где название действительно сокращено.sprintfНужно собрать строку одинакового вида из меняющихся значений: номер заказа, название и количество. sprintf возвращает готовую строку по шаблону. Её можно сохранить в переменную, передать отправителю уведомлений или вывести позже.str_containsНайти товары, в названии которых встречается искомое слово. str_contains возвращает true или false. Ниже ответ сразу управляет действием, поэтому видно, зачем он нужен.str_ends_withИз списка имён выбрать выгрузки, оканчивающиеся на .csv. str_ends_with возвращает true или false. Ниже ответ сразу управляет действием, поэтому видно, зачем он нужен.str_replaceВ подготовленном тексте нужно заменить точную подпись или привести переносы строк к одному виду. str_replace выполняет все совпадающие замены и возвращает новый текст. Для шаблона с несколькими независимыми метками сравните его поведение со strtr.str_starts_withВыбрать коды товаров с согласованным префиксом категории. str_starts_with возвращает true или false. Ниже ответ сразу управляет действием, поэтому видно, зачем он нужен.strlenНужно узнать размер строки, например уложится ли текстовый пакет в ограничение устройства. strlen считает байты. Для длины подписи в буквах нужна другая единица — ниже видно, почему одинаковые на вид задачи решаются по-разному.strposНужно найти, где в строке заканчивается имя поля и начинается значение. strpos возвращает позицию первого совпадения, а затем substr может извлечь нужную часть. Особенно важно отличить позицию 0 от отсутствия совпадения.strtolowerИмена HTTP-заголовков не чувствительны к регистру. Чтобы внутренний словарь не содержал одновременно X-Request-Id и x-request-id, можно привести именно имя к одному ASCII-регистру. Значение заголовка при этом менять нельзя.strtrНужно собрать сообщение из шаблона: номер заказа, имя покупателя и состояние. strtr с картой заменяет именованные метки целиком и не превращает уже вставленные значения в новые команды шаблона. У этой функции есть и другая, побайтовая форма — не смешивайте их.substrИз кода заказа нужно вынуть номер, из имени выгрузки — убрать расширение, из ASCII-строки — взять небольшой фрагмент. substr возвращает участок по байтовым позициям. Сначала разберём эти позиции, затем покажем безопасную замену для русского превью.trimПокупатель вставил название товара с пробелами по краям. Нужно получить аккуратную подпись, сохранив пробел между словами. trim возвращает очищенную копию строки; исходную переменную он не переписывает.System V IPC: сообщения, семафоры и общая память
ftokСогласовать IPC ключ по известному файлу и метке проекта.msg_get_queueНайти либо создать очередь локальных сообщений.msg_queue_existsПроверить наличие очереди без создания.msg_receiveИзвлечь подходящее сообщение с контролем размера и ожидания.msg_remove_queueУдалить системную очередь и оставшиеся сообщения.msg_sendПередать задание в очередь и явно выбрать ожидание.msg_set_queueИзменить разрешённые параметры очереди владельцем.msg_stat_queueПолучить счётчики и параметры очереди.sem_acquireПолучить пропуск перед операцией, которую нельзя выполнять одновременно.sem_getСоздать либо открыть набор пропусков для взаимного исключения.sem_releaseВернуть ранее полученный пропуск.sem_removeУдалить системный набор после завершения всех участников.shm_attachОткрыть общую память для локальных обработчиков.shm_detachЗакрыть своё подключение к общей памяти.shm_get_varПолучить обычное PHP значение из общей записи.shm_has_varУзнать, есть ли запись с заданным ключом.shm_put_varПередать снимок PHP значения в общую память.shm_removeЗавершить жизнь системного сегмента после работы участников.shm_remove_varОсвободить одну запись, сохранив остальной сегмент.SysvMessageQueueНепрозрачная ручка очереди в PHP 8.SysvSemaphoreРучка набора и счётчик захватов данного PHP объекта.SysvSharedMemoryРучка подключённого сегмента, а не контейнер с публичными полями.Tokenizer: понять PHP-исходник, не выполняя его
PhpToken::__constructСоздать один токен вручную для своего преобразователя или отчёта.PhpToken::__toStringПолучить исходный текст объекта при преобразовании в строку.PhpToken::getTokenNameПрочитать имя вида токена либо сам одиночный знак.PhpToken::isПроверить вид или точный текст токена, в том числе по нескольким альтернативам.PhpToken::isIgnorableУзнать, пропускает ли синтаксический анализатор этот вид токена.PhpToken::tokenizeРазобрать исходник в однородный список объектов с текстом и позицией.token_get_allРазобрать PHP-текст на массив токенов, не выполняя его.token_nameПолучить понятное имя T_* по числовому идентификатору.Загрузка файлов: проверка содержимого, хранение и выдача
URI и URL: полный справочник двух парсеров
Uri\Rfc3986\Uri::__constructРазобрать ссылку один раз и затем работать с её компонентами.Uri\Rfc3986\Uri::__debugInfoРазобрать локальную ошибку, не отдавая полный URI пользователю.Uri\Rfc3986\Uri::__serializeПоддержать локальное сохранение объекта стандартным механизмом PHP.Uri\Rfc3986\Uri::__unserializeПонять восстановление состояния и корректно обработать его отказ.Uri\Rfc3986\Uri::equalsУбрать дубликаты ссылок по явно выбранному правилу fragment.Uri\Rfc3986\Uri::getFragmentПолучить имя раздела для локальной навигации справочника.Uri\Rfc3986\Uri::getHostВыделить нормализованное имя узла ссылки, не спутать его с пользователем.Uri\Rfc3986\Uri::getPasswordПроверить наличие пароля в импортированной ссылке без его публикации.Uri\Rfc3986\Uri::getPathПолучить маршрут карточки после устранения навигационных сегментов.Uri\Rfc3986\Uri::getPortПоказать явно записанный порт учебного сервиса.Uri\Rfc3986\Uri::getQueryОтделить параметры поиска от маршрута и якоря.Uri\Rfc3986\Uri::getRawFragmentПоказать исходное кодирование якоря из импортированной ссылки.Uri\Rfc3986\Uri::getRawHostСопоставить введённое написание домена с нормализованным.Uri\Rfc3986\Uri::getRawPasswordПроверить кодирование тестового пароля, не меняя его структуру.Uri\Rfc3986\Uri::getRawPathРазобрать, почему две входные ссылки выглядят по-разному.Uri\Rfc3986\Uri::getRawQueryСохранить написание query для проверки подписанного адреса.Uri\Rfc3986\Uri::getRawSchemeПоказать, как автор исходной ссылки записал схему.Uri\Rfc3986\Uri::getRawUserInfoСопоставить исходный и нормализованный блок учётных данных на фиктивной строке.Uri\Rfc3986\Uri::getRawUsernameРазобрать исходную запись логина в диагностическом стенде.Uri\Rfc3986\Uri::getSchemeПроверить протокол ссылки каталога до дальнейшей обработки.Uri\Rfc3986\Uri::getUserInfoУдалить весь блок учётных данных, не перепутав его с host.Uri\Rfc3986\Uri::getUsernameРаспознать встроенные учётные данные перед показом ссылки.Uri\Rfc3986\Uri::parseПроверить массовый импорт ссылок, где неправильная запись ожидаема.Uri\Rfc3986\Uri::resolveВосстановить полную ссылку из относительной записи HTML или конфигурации.Uri\Rfc3986\Uri::toRawStringПодготовить разобранный адрес к хранению или отображению в нужной форме.Uri\Rfc3986\Uri::toStringПодготовить разобранный адрес к хранению или отображению в нужной форме.Uri\Rfc3986\Uri::withFragmentДать ссылку на раздел доставки внутри справки.Uri\Rfc3986\Uri::withHostПодготовить ссылку на зеркальный каталог.Uri\Rfc3986\Uri::withPathПолучить ссылку на файл прайс-листа, не меняя host.Uri\Rfc3986\Uri::withPortНастроить адрес тестового сервиса на отдельный порт.Uri\Rfc3986\Uri::withQueryПостроить ссылку на отфильтрованный каталог.Uri\Rfc3986\Uri::withSchemeПеревести подготовленную ссылку каталога на другую схему.Uri\Rfc3986\Uri::withUserInfoУбрать встроенные учётные данные из учебной ссылки.Uri\WhatWg\InvalidUrlException::__constructПередать отказ URL вместе со структурированной причиной вызывающему коду.Uri\WhatWg\Url::__constructРазобрать ссылку один раз и затем работать с её компонентами.Uri\WhatWg\Url::__debugInfoРазобрать локальную ошибку, не отдавая полный URI пользователю.Uri\WhatWg\Url::__serializeПоддержать локальное сохранение объекта стандартным механизмом PHP.Uri\WhatWg\Url::__unserializeПонять восстановление состояния и корректно обработать его отказ.Uri\WhatWg\Url::equalsУбрать дубликаты ссылок по явно выбранному правилу fragment.Uri\WhatWg\Url::getAsciiHostПолучить форму международного домена для машинного сравнения.Uri\WhatWg\Url::getFragmentПолучить браузерный якорь для карточки раздела.Uri\WhatWg\Url::getPasswordОтметить пароль в импортируемой ссылке и скрыть его в отчёте.Uri\WhatWg\Url::getPathВыделить маршрут карточки после браузерного разбора.Uri\WhatWg\Url::getPortРазличить стандартный и явно нестандартный порт веб-сервиса.Uri\WhatWg\Url::getQueryИзвлечь строку поисковых параметров без смешения с якорем.Uri\WhatWg\Url::getSchemeОпределить схему готовой браузерной ссылки.Uri\WhatWg\Url::getUnicodeHostПоказать человеку международный домен, сохранив машинную форму рядом.Uri\WhatWg\Url::getUsernameОпределить, что ссылка содержит встроенное имя пользователя.Uri\WhatWg\Url::parseПроверить массовый импорт ссылок, где неправильная запись ожидаема.Uri\WhatWg\Url::resolveВосстановить полную ссылку из относительной записи HTML или конфигурации.Uri\WhatWg\Url::toAsciiStringПодготовить разобранный адрес к хранению или отображению в нужной форме.Uri\WhatWg\Url::toUnicodeStringПодготовить разобранный адрес к хранению или отображению в нужной форме.Uri\WhatWg\Url::withFragmentСоздать ссылку на конкретную часть справки.Uri\WhatWg\Url::withHostЗаменить домен каталога на международное имя.Uri\WhatWg\Url::withPasswordУдалить пароль из фиктивной учебной ссылки.Uri\WhatWg\Url::withPathСобрать ссылку на документ с пробелом в имени.Uri\WhatWg\Url::withPortВыбрать порт отдельного учебного HTTPS-сервиса.Uri\WhatWg\Url::withQueryДобавить фильтр к готовой ссылке каталога.Uri\WhatWg\Url::withSchemeОбновить браузерную ссылку с HTTP на HTTPS.Uri\WhatWg\Url::withUsernameУдалить имя из ссылки со встроенными credentials.Uri\WhatWg\UrlValidationError::__constructСоздать запись для адаптера или теста отображения ошибок.URL: ссылки, query, Base64 и метаданные HTTP
base64_decodeВосстановить байты из Base64 и явно отличить ошибку от пустого результата.base64_encodeПередать произвольные байты в текстовом поле по договору Base64.get_headersПолучить HTTP-заголовки ответа собственного известного endpoint и отдельно оценить статус.get_meta_tagsПрочитать именованные meta-теги из HTML-файла, например описание страницы своего каталога.http_build_queryПревратить набор параметров в query-строку, не собирая вручную амперсанды и escape-последовательности.parse_urlРазобрать совместимый старый URL-код на компоненты, не принимая разбор за валидацию адреса.rawurldecodeРаскодировать %HH, оставив знак + обычным плюсом.rawurlencodeЗакодировать один сегмент пути или компонент по RFC 3986.urldecodeРаскодировать значение формы/query: %HH в байты, + в пробел.urlencodeЗакодировать одно значение формы/query по application/x-www-form-urlencoded.Работа с переменными: тип, наличие, преобразование и диагностика
boolvalПолучить логическое значение по правилам PHP, когда именно эти правила подходят задаче.debug_zval_dumpИсследовать внутреннее представление значения, понимая влияние самого наблюдения.doublevalАльтернативное имя floatval для чтения и сопровождения кода.emptyПроверить отсутствие или ложное значение, когда это соответствует задаче.floatvalПолучить float, понимая допустимые потери и формат исходника.get_defined_varsПолучить снимок переменных текущей области для ограниченной диагностики.get_resource_idПолучить целочисленный идентификатор PHP-ресурса для локального сопоставления.get_resource_typeПолучить техническое имя вида ресурса для диагностики.gettypeПолучить историческое строковое название типа, например для совместимого отчёта.is_boolОтличить настоящий логический флаг от строки или числа.is_callableПроверить, можно ли вызвать значение как функцию в текущем контексте.is_countableПроверить допустимость значения для count, не считая элементы.is_doubleИсторическое альтернативное имя is_float; полезно при чтении существующего проекта.is_floatУзнать, хранится ли значение как число с плавающей точкой.is_integerИсторическое альтернативное имя is_int; полезно при чтении существующего проекта.is_iterableПроверить договор array или Traversable перед передачей в перебор.is_longИсторическое альтернативное имя is_int; полезно при чтении существующего проекта.is_nullПроверить отдельное значение null, отличая его от нуля и false.is_objectОтличить объект от массива и остальных значений.is_realУдалённый alias is_float: читать старый код и переносить на основное имя.is_resourceПроверить, что значение представляет ещё открытый ресурс PHP.is_scalarРазрешить только простые скалярные типы: bool, int, float, string.issetУзнать, существует ли переменная или элемент со значением, отличным от null.print_rБыстро показать структуру или получить её читаемое текстовое представление.serializeПредставить собственные PHP-данные строкой для контролируемого хранения.settypeИзменить тип переданной переменной, явно учитывая изменение по ссылке.strvalПолучить простое строковое представление допустимого значения.unserializeВосстановить значение из доверенного PHP-снимка и обработать ошибки формата.unsetУдалить переменную, элемент или допустимое свойство из текущего контекста.var_dumpПосмотреть типы и значения при локальной отладке.var_exportПолучить представление значения как PHP-выражение для контролируемых фикстур и диагностики.Типы данных: значения, преобразования и проверка
get_debug_typeПолучить понятное имя типа для сообщения об ошибке или локальной диагностики.intdivРазделите 29 задач на полные пакеты по 10 без промежуточного float: получатся два полных пакета.intvalПолучить целое значение или разобрать строку в заданной системе счисления.is_arrayПроверить, что получено именно PHP-значение array.is_intПроверить фактический целочисленный тип.is_numericПроверить число или строку, соответствующую числовому синтаксису PHP.is_stringПроверить строковый тип без приведения массивов и чисел.roundОкруглите показание до десятых либо расчёт до сотен, заранее определив, куда отправлять точную половину.WeakReference и WeakMap: владение, кэш и освобождение объектов
WeakMap::countУзнать число текущих живых записей, включая записи со значением null.WeakMap::getIteratorПолучить обход карты; ключами foreach будут объекты, значениями — связанные данные.WeakMap::offsetExistsПроверить запись с ненулевым значением; null требует отдельной модели наличия.WeakMap::offsetGetПрочитать значение по конкретному объекту; отсутствие записи вызывает Error.WeakMap::offsetSetЗаписать или заменить служебное значение по объекту-ключу.WeakMap::offsetUnsetУдалить одну служебную запись, сохранив сам объект, если у него есть владельцы.WeakReference::__constructПрямой new WeakReference запрещён; объект создают через create с конкретной целью.WeakReference::createПолучить слабую ссылку на существующий объект, не продлевая его жизнь.WeakReference::getПолучить живой объект либо null, если цель уже освобождена.Webhook: подпись, повторы и порядок событий
XML Parser: события, обработчики и полный справочник
xml_error_stringПреобразовать XML-код ошибки в диагностическое описание.xml_get_current_byte_indexПолучить текущий байтовый индекс для технической диагностики.xml_get_current_column_numberУточнить положение на текущей строке разбора.xml_get_current_line_numberУзнать строку, на которой парсер находится в данный момент.xml_get_error_codeПолучить причину неуспешного разбора или XML_ERROR_NONE.xml_parseПередать XML целиком или очередную часть и вызвать зарегистрированные обработчики.xml_parse_into_structПолучить плоское представление небольшого XML и индекс его элементов.xml_parser_createСоздать состояние для последовательного разбора XML.xml_parser_create_nsСоздать парсер, который различает элементы по namespace URI и локальному имени.xml_parser_freeПонять старое освобождение XML-ресурса и убрать ненужный вызов при миграции.xml_parser_get_optionУзнать значение настройки без изменения состояния разбора.xml_parser_set_optionНастроить конкретный парсер до обработки данных.xml_set_character_data_handlerПолучать текстовые кусочки и собрать значение поля без потери данных.xml_set_default_handlerПолучать части XML, для которых нет другого обработчика, например комментарии.xml_set_element_handlerНазначить действия на открытие и закрытие XML-элемента.xml_set_end_namespace_decl_handlerНазначить callback выхода из области namespace в поддерживающей это реализации.xml_set_external_entity_ref_handlerЗадать явную политику обработки ссылок на внешние разобранные сущности.xml_set_notation_decl_handlerЧитать объявления NOTATION из DTD, если формат обмена использует не-XML вложения.xml_set_objectРазобраться со старым способом привязки строковых имён обработчиков к объекту.xml_set_processing_instruction_handlerРазобрать метаданные PI, если они нужны договору обмена.xml_set_start_namespace_decl_handlerПолучать объявления namespace до события открывающего элемента.xml_set_unparsed_entity_decl_handlerПолучать декларации внешних NDATA-сущностей без попытки разобрать их содержимое как XML.XMLReader: большие XML-каталоги, курсор и полный справочник
XMLReader::closeЗавершить чтение и освободить входные ресурсы reader.XMLReader::expandПолучить копию текущего поддерева как DOM-объект.XMLReader::fromStreamЧитать XML из уже открытого PHP-потока.XMLReader::fromStringНачать последовательное чтение XML, который уже находится в строке.XMLReader::fromUriОткрыть файл или разрешённый URI для последовательного чтения.XMLReader::getAttributeПолучить атрибут по его полному имени.XMLReader::getAttributeNoПолучить атрибут по его позиции на текущем элементе.XMLReader::getAttributeNsПолучить атрибут по локальному имени и URI пространства.XMLReader::getParserPropertyУзнать, включён ли конкретный режим XML-парсера.XMLReader::isValidУзнать результат включённой проверки по схеме на прочитанной части документа.XMLReader::lookupNamespaceУзнать URI, которому соответствует префикс в текущей области XML.XMLReader::moveToAttributeПереместить курсор с элемента на выбранный атрибут.XMLReader::moveToAttributeNoПереместить курсор с элемента на выбранный атрибут.XMLReader::moveToAttributeNsПереместить курсор с элемента на выбранный атрибут.XMLReader::moveToElementВернуться с атрибута на элемент, которому он принадлежит.XMLReader::moveToFirstAttributeПерейти к первому атрибуту текущего элемента.XMLReader::moveToNextAttributeПеребрать атрибуты, оставаясь в пределах текущего элемента.XMLReader::nextПропустить текущее поддерево и перейти дальше, при необходимости к заданному локальному имени.XMLReader::openЗагрузить источник по пути через совместимый API с двумя формами вызова.XMLReader::readПерейти к следующему узлу XML и узнать, что находится в этом месте.XMLReader::readInnerXmlПолучить XML-содержимое текущего узла без его внешнего тега.XMLReader::readOuterXmlПолучить XML-фрагмент вместе с текущим внешним элементом.XMLReader::readStringПолучить объединённый текст текущего элемента без его разметки.XMLReader::setParserPropertyВключить или выключить отдельное поведение парсера до начала чтения.XMLReader::setRelaxNGSchemaПодключить RelaxNG-схему из файла для проверки входного договора.XMLReader::setRelaxNGSchemaSourceПодключить RelaxNG-схему из строки для проверки входного договора.XMLReader::setSchemaПодключить XSD-схему из файла для проверки входного договора.XMLReader::XMLЗагрузить XML-строку через совместимый API с двумя формами вызова.XMLWriter: полный справочник записи XML
XMLWriter::endAttributeЗакончить текущее значение атрибута перед следующим атрибутом или текстом элемента.XMLWriter::endCdataЗакончить текущую CDATA-секцию и вернуться к записи содержимого элемента.XMLWriter::endCommentЗакончить текущий комментарий перед дальнейшей XML-разметкой.XMLWriter::endDocumentЗавершить текущий XML-документ после записи его данных.XMLWriter::endDtdЗакончить объявление типа документа перед его корневым элементом.XMLWriter::endDtdAttlistЗавершить открытый список объявлений атрибутов DTD.XMLWriter::endDtdElementЗавершить открытое объявление ELEMENT в DTD.XMLWriter::endDtdEntityЗакончить текущее объявление сущности DTD.XMLWriter::endElementЗакрыть последний открытый элемент и продолжить на уровне родителя.XMLWriter::endPiЗакончить текущую инструкцию обработки.XMLWriter::flushПротолкнуть накопленные байты в выбранный приёмник и получить результат сброса.XMLWriter::fullEndElementЗакрыть элемент отдельным завершающим тегом, даже если он пуст.XMLWriter::openMemoryПодготовить писатель для небольшой XML-строки: например тела запроса к службе доставки.XMLWriter::openUriЗаписывать XML в файл или поддерживаемый URI, не накапливая весь результат в одной строке.XMLWriter::outputMemoryПолучить накопленный XML как строку из режима памяти.XMLWriter::setIndentВключить или выключить автоматические отступы при записи.XMLWriter::setIndentStringЗадать пробельную строку, повторяемую для отступа каждого уровня.XMLWriter::startAttributeНачать атрибут, значение которого удобнее записать несколькими частями.XMLWriter::startAttributeNsНачать значение атрибута с префиксом и namespace, чтобы дописать его частями.XMLWriter::startCdataНачать CDATA-секцию, чтобы записать текст без XML-экранирования по частям.XMLWriter::startCommentНачать служебный XML-комментарий, который формируется несколькими записями.XMLWriter::startDocumentНачать документ с XML-декларации перед корневым элементом.XMLWriter::startDtdНачать объявление типа документа и затем дописать внутренние объявления.XMLWriter::startDtdAttlistНачать объявление ATTLIST, чтобы описать атрибуты элемента.XMLWriter::startDtdElementНачать объявление допустимого содержимого конкретного элемента в DTD.XMLWriter::startDtdEntityНачать объявление сущности DTD: обычной строки либо параметрической части DTD.XMLWriter::startElementОткрыть новый XML-элемент для текста, атрибутов и вложенных узлов.XMLWriter::startElementNsНачать элемент, связанный с XML-пространством имён.XMLWriter::startPiНачать инструкцию обработки для получателя XML.XMLWriter::textДополнить текущее текстовое содержимое или открытое значение атрибута.XMLWriter::toMemoryСоздать сразу готовый писатель в памяти через статическую фабрику.XMLWriter::toStreamПодключить XMLWriter к уже открытому записываемому PHP-потоку.XMLWriter::toUriСоздать объект, который сразу пишет в выбранный файл/URI.XMLWriter::writeAttributeЗаписать готовый атрибут внутри ещё открытого начального тега.XMLWriter::writeAttributeNsЗаписать готовый атрибут с XML-пространством имён.XMLWriter::writeCdataЗаписать полный CDATA-блок внутри элемента за один вызов.XMLWriter::writeCommentЗаписать полный XML-комментарий одной операцией.XMLWriter::writeDtdЗаписать полный DOCTYPE с внешними идентификаторами и/или внутренним набором объявлений.XMLWriter::writeDtdAttlistЗаписать готовый список правил атрибутов одного элемента.XMLWriter::writeDtdElementЗаписать полное объявление ELEMENT с готовой моделью содержимого.XMLWriter::writeDtdEntityЗаписать полное объявление внутренней или внешней сущности DTD.XMLWriter::writeElementЗаписать и сразу закрыть элемент с обычным текстом.XMLWriter::writeElementNsЗаписать полный текстовый элемент с XML-пространством имён.XMLWriter::writePiЗаписать полную инструкцию обработки одной операцией.XMLWriter::writeRawВставить уже подготовленную XML-разметку без экранирования.xmlwriter_end_attributeЗакончить текущее значение атрибута перед следующим атрибутом или текстом элемента.xmlwriter_end_cdataЗакончить текущую CDATA-секцию и вернуться к записи содержимого элемента.xmlwriter_end_commentЗакончить текущий комментарий перед дальнейшей XML-разметкой.xmlwriter_end_documentЗавершить текущий XML-документ после записи его данных.xmlwriter_end_dtdЗакончить объявление типа документа перед его корневым элементом.xmlwriter_end_dtd_attlistЗавершить открытый список объявлений атрибутов DTD.xmlwriter_end_dtd_elementЗавершить открытое объявление ELEMENT в DTD.xmlwriter_end_dtd_entityЗакончить текущее объявление сущности DTD.xmlwriter_end_elementЗакрыть последний открытый элемент и продолжить на уровне родителя.xmlwriter_end_piЗакончить текущую инструкцию обработки.xmlwriter_flushПротолкнуть накопленные байты в выбранный приёмник и получить результат сброса.xmlwriter_full_end_elementЗакрыть элемент отдельным завершающим тегом, даже если он пуст.xmlwriter_open_memoryПодготовить писатель для небольшой XML-строки: например тела запроса к службе доставки.xmlwriter_open_uriЗаписывать XML в файл или поддерживаемый URI, не накапливая весь результат в одной строке.xmlwriter_output_memoryПолучить накопленный XML как строку из режима памяти.xmlwriter_set_indentВключить или выключить автоматические отступы при записи.xmlwriter_set_indent_stringЗадать пробельную строку, повторяемую для отступа каждого уровня.xmlwriter_start_attributeНачать атрибут, значение которого удобнее записать несколькими частями.xmlwriter_start_attribute_nsНачать значение атрибута с префиксом и namespace, чтобы дописать его частями.xmlwriter_start_cdataНачать CDATA-секцию, чтобы записать текст без XML-экранирования по частям.xmlwriter_start_commentНачать служебный XML-комментарий, который формируется несколькими записями.xmlwriter_start_documentНачать документ с XML-декларации перед корневым элементом.xmlwriter_start_dtdНачать объявление типа документа и затем дописать внутренние объявления.xmlwriter_start_dtd_attlistНачать объявление ATTLIST, чтобы описать атрибуты элемента.xmlwriter_start_dtd_elementНачать объявление допустимого содержимого конкретного элемента в DTD.xmlwriter_start_dtd_entityНачать объявление сущности DTD: обычной строки либо параметрической части DTD.xmlwriter_start_elementОткрыть новый XML-элемент для текста, атрибутов и вложенных узлов.xmlwriter_start_element_nsНачать элемент, связанный с XML-пространством имён.xmlwriter_start_piНачать инструкцию обработки для получателя XML.xmlwriter_textДополнить текущее текстовое содержимое или открытое значение атрибута.xmlwriter_write_attributeЗаписать готовый атрибут внутри ещё открытого начального тега.xmlwriter_write_attribute_nsЗаписать готовый атрибут с XML-пространством имён.xmlwriter_write_cdataЗаписать полный CDATA-блок внутри элемента за один вызов.xmlwriter_write_commentЗаписать полный XML-комментарий одной операцией.xmlwriter_write_dtdЗаписать полный DOCTYPE с внешними идентификаторами и/или внутренним набором объявлений.xmlwriter_write_dtd_attlistЗаписать готовый список правил атрибутов одного элемента.xmlwriter_write_dtd_elementЗаписать полное объявление ELEMENT с готовой моделью содержимого.xmlwriter_write_dtd_entityЗаписать полное объявление внутренней или внешней сущности DTD.xmlwriter_write_elementЗаписать и сразу закрыть элемент с обычным текстом.xmlwriter_write_element_nsЗаписать полный текстовый элемент с XML-пространством имён.xmlwriter_write_piЗаписать полную инструкцию обработки одной операцией.xmlwriter_write_rawВставить уже подготовленную XML-разметку без экранирования.XSL: преобразование XML, отчёты и полный справочник XSLTProcessor
XSLTProcessor::__constructСоздать отдельный процессор с настройками для преобразования XML.XSLTProcessor::getParameterПрочитать установленное PHP-кодом значение параметра процессора.XSLTProcessor::getSecurityPrefsУзнать, какие чтения и записи запрещены при выполнении XSLT.XSLTProcessor::hasExsltSupportПроверить, собрана ли поддержка библиотеки расширений EXSLT.XSLTProcessor::importStylesheetСкомпилировать XSL-шаблон перед преобразованием одного или нескольких XML-документов.XSLTProcessor::registerPHPFunctionNSДать XSL понятную прикладную функцию вроде shop:label без перечисления глобальных PHP-имён.XSLTProcessor::registerPHPFunctionsРазрешить шаблону вызывать конкретные PHP-функции через пространство http://php.net/xsl.XSLTProcessor::removeParameterУдалить внешнее значение и снова дать шаблону использовать собственное значение по умолчанию.XSLTProcessor::setParameterПередать заголовок, язык или другой параметр из PHP в доверенный XSL-шаблон.XSLTProcessor::setProfilingЗаписать профиль выполнения XSL-шаблонов, чтобы найти дорогие участки преобразования.XSLTProcessor::setSecurityPrefsУстановить запреты на дополнительные файловые и сетевые операции внутри преобразования.XSLTProcessor::transformToDocПолучить дерево результата, чтобы продолжить работу с узлами вместо повторного разбора строки.XSLTProcessor::transformToUriСформировать выгрузку сразу в выбранный приложением файл и получить число записанных байтов.XSLTProcessor::transformToXmlПолучить готовый результат строкой: XML, HTML или текст в зависимости от xsl:output.ZIP: документы в одном архиве и полный справочник
zip_closeОсвободить ресурс архива после чтения старым API. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_closeОсвободить отдельную запись, сохранив возможность обхода архива. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_compressedsizeОтличить место внутри ZIP от объёма будущей распаковки. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_compressionmethodПрочитать историческое текстовое имя способа сжатия. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_filesizeОценить распакованный размер перед старым импортом. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_nameПолучить имя найденного документа без чтения его содержимого. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_openПравильно понять старую проверку открытия записи: её результат — bool. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_entry_readПрочитать байты документа порциями в унаследованном обработчике. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_openРаспознать старый код, открывающий поставку ресурсом вместо объекта. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.zip_readПоследовательно получить записи в старом импортере. Функция deprecated с PHP 8.0; изучаем для миграции, новый код пишем на ZipArchive.ZipArchive::addEmptyDirПередать получателю пустую папку для будущих актов.ZipArchive::addFileВключить готовый прайс-лист с диска в поставку.ZipArchive::addFromStringДобавить сформированный в PHP чек без промежуточного файла.ZipArchive::addGlobСобрать выбранные файлы каталога в одну поставку без ручного addFile для каждого.ZipArchive::addPatternСобрать выбранные файлы каталога в одну поставку без ручного addFile для каждого.ZipArchive::clearErrorОтделить уже обработанный отказ от новой операции.ZipArchive::closeПодтвердить, что подготовленная выгрузка действительно сохранена.ZipArchive::countПроверить, что поставка содержит ожидаемое число записей.ZipArchive::deleteIndexИсключить устаревший документ из поставки.ZipArchive::deleteNameИсключить устаревший документ из поставки.ZipArchive::extractToВыдать проверенные документы из архива в отдельную рабочую папку.ZipArchive::getArchiveCommentПрочитать пояснение ко всей поставке.ZipArchive::getArchiveFlagПроверить общий признак архива, не перепутав ошибку -1 с true.ZipArchive::getCommentIndexПрочитать пояснение к конкретному документу.ZipArchive::getCommentNameПрочитать пояснение к конкретному документу.ZipArchive::getExternalAttributesIndexПроверить тип/права записи по метаданным создавшей её системы.ZipArchive::getExternalAttributesNameПроверить тип/права записи по метаданным создавшей её системы.ZipArchive::getFromIndexПрочитать небольшой чек из ZIP без записи на диск.ZipArchive::getFromNameПрочитать небольшой чек из ZIP без записи на диск.ZipArchive::getNameIndexПоказать содержимое поставки без распаковки.ZipArchive::getStatusStringПолучить понятную диагностику внутреннего отказа ZIP.ZipArchive::getStreamЧитать документ небольшими порциями, не помещая его целиком в память.ZipArchive::getStreamIndexЧитать документ небольшими порциями, не помещая его целиком в память.ZipArchive::getStreamNameЧитать документ небольшими порциями, не помещая его целиком в память.ZipArchive::isCompressionMethodSupportedПроверить отдельно запись и чтение выбранного способа сжатия.ZipArchive::isEncryptionMethodSupportedВыбрать шифрование, которое умеет установленная libzip.ZipArchive::locateNameНайти номер записи по известному имени перед точечным изменением.ZipArchive::openСобрать чек и памятку в один файл или открыть готовую поставку.ZipArchive::registerCancelCallbackДать пользователю возможность отменить затратное сохранение архива.ZipArchive::registerProgressCallbackПоказать продвижение длительной сборки ZIP во время close().ZipArchive::renameIndexПереименовать документ внутри ZIP, сохранив его содержимое.ZipArchive::renameNameПереименовать документ внутри ZIP, сохранив его содержимое.ZipArchive::replaceFileЗаменить байты прайс-листа, сохранив его имя в ZIP.ZipArchive::setArchiveCommentСнабдить всю поставку пояснением.ZipArchive::setArchiveFlagСохранить намеренно пустой архив и управлять общими признаками ZIP.ZipArchive::setCommentIndexСнабдить отдельный документ пояснением.ZipArchive::setCommentNameСнабдить отдельный документ пояснением.ZipArchive::setCompressionIndexВыбрать степень сжатия текстового отчёта либо оставить уже сжатые данные без повторной работы.ZipArchive::setCompressionNameВыбрать степень сжатия текстового отчёта либо оставить уже сжатые данные без повторной работы.ZipArchive::setEncryptionIndexЗащитить содержимое выбранного документа паролем перед отправкой.ZipArchive::setEncryptionNameЗащитить содержимое выбранного документа паролем перед отправкой.ZipArchive::setExternalAttributesIndexПометить документ переносимыми UNIX-атрибутами для архиватора получателя.ZipArchive::setExternalAttributesNameПометить документ переносимыми UNIX-атрибутами для архиватора получателя.ZipArchive::setMtimeIndexСохранить время изменения документа при формировании архивной поставки.ZipArchive::setMtimeNameСохранить время изменения документа при формировании архивной поставки.ZipArchive::setPasswordПередать пароль для чтения защищённых записей и default для их явного шифрования.ZipArchive::statIndexУзнать размер и способ сжатия документа до выделения памяти.ZipArchive::statNameУзнать размер и способ сжатия документа до выделения памяти.ZipArchive::unchangeAllОтменить всю подготовленную партию изменений перед закрытием.ZipArchive::unchangeArchiveОтменить только общие изменения архива, оставив изменения документов.ZipArchive::unchangeIndexОтменить подготовленное изменение одной записи до сохранения.ZipArchive::unchangeNameОтменить подготовленное изменение одной записи до сохранения.Zlib: gzip-файлы, сжатие строк и потоков
deflate_addДобавить очередные данные в контекст и получить созданную на этом шаге сжатую часть.deflate_initПодготовить сжатие больших данных порциями, сохраняя историю повторений между частями.gzcloseЗакрыть gz-поток, завершить запись и освободить связанный файловый ресурс.gzcompressСжать готовую строку в формате zlib для хранения или обмена с получателем, который ожидает именно этот формат.gzdecodeВосстановить строку из gzip и явно отличить испорченный поток от корректного пустого результата.gzdeflateСжать готовую строку в формате raw DEFLATE для хранения или обмена с получателем, который ожидает именно этот формат.gzencodeСжать готовую строку в формате gzip для хранения или обмена с получателем, который ожидает именно этот формат.gzeofУзнать, достиг ли gz-поток конца либо состояния ошибки.gzfileЗагрузить весь распакованный текст gzip-файла в массив строк.gzgetcПрочитать один распакованный байт; удобно разбирать простой ASCII-разделитель.gzgetsПолучить строку текста из gzip-выгрузки, сохранив её перевод строки.gzgetssПонять старый код, который читал gzip-строку и удалял HTML-теги; в PHP8 функция удалена.gzinflateВосстановить строку из raw DEFLATE и явно отличить испорченный поток от корректного пустого результата.gzopenОткрыть gzip-файл для чтения или записи, не собирая весь распакованный документ в памяти.gzpassthruВывести все оставшиеся распакованные данные открытого gz-потока.gzputsЗаписать исходные байты в gz-поток через псевдоним gzwrite.gzreadПрочитать до заданного числа распакованных байтов с текущей позиции.gzrewindВернуть указатель gz-потока к началу распакованных данных.gzseekПерейти к смещению в распакованных данных gz-потока.gztellПолучить текущую позицию в распакованных байтах.gzuncompressВосстановить строку из zlib и явно отличить испорченный поток от корректного пустого результата.gzwriteЗаписать исходные байты в gz-поток, получив число принятых байтов.inflate_addПередать очередные сжатые байты декодеру и получить доступную распакованную часть.inflate_get_read_lenУзнать, сколько сжатых входных байтов реально потребил декодер, и обнаружить хвост после первого потока.inflate_get_statusУзнать состояние распаковки и подтвердить именно конец корректного сжатого потока.inflate_initСоздать состояние для постепенной распаковки согласованного сжатого потока.ob_gzhandlerПодключить штатный обработчик буфера вывода, который может сжать HTTP-ответ для клиента.readgzfileОткрыть gzip-файл, распаковать и сразу вывести его содержимое.zlib_decodeРаспаковать один из поддерживаемых raw/gzip/zlib форматов в инструменте, где такая вариативность действительно разрешена.zlib_encodeВыбрать формат сжатия явным аргументом, когда один код обслуживает несколько согласованных форматов обмена.zlib_get_coding_typeПосмотреть, какой тип кодирования выбран zlib для текущего вывода.Источники и обсуждения
Код и руководство с собой
Скачайте самостоятельные примеры с исходными данными, инструкциями и ожидаемыми результатами. Примеры HTTP и фрагменты для проекта помечены отдельно: им нужно указанное окружение.
Код не исполняется на сайте. Скачайте нужный пример и запускайте его в своём локальном окружении.
Материалы сверены 2026-10-12. Примеры и объяснения написаны для этого руководства; источники и обсуждения доступны в каждой главе.


