Downloads
Documentation
Get Involved
Help
Search docs
PHP 8.4.2 Released!
Getting Started
Introduction
A simple tutorial
Language Reference
Basic syntax
Types
Variables
Constants
Expressions
Operators
Control Structures
Functions
Classes and Objects
Namespaces
Enumerations
Errors
Exceptions
Fibers
Generators
Attributes
References Explained
Predefined Variables
Predefined Exceptions
Predefined Interfaces and Classes
Predefined Attributes
Context options and parameters
Supported Protocols and Wrappers
Security
Introduction
General considerations
Installed as CGI binary
Installed as an Apache module
Session Security
Filesystem Security
Database Security
Error Reporting
User Submitted Data
Hiding PHP
Keeping Current
Features
HTTP authentication with PHP
Cookies
Sessions
Handling file uploads
Using remote files
Connection handling
Persistent Database Connections
Command line usage
Garbage Collection
DTrace Dynamic Tracing
Function Reference
Affecting PHP's Behaviour
Audio Formats Manipulation
Authentication Services
Command Line Specific Extensions
Compression and Archive Extensions
Cryptography Extensions
Database Extensions
Date and Time Related Extensions
File System Related Extensions
Human Language and Character Encoding Support
Image Processing and Generation
Mail Related Extensions
Mathematical Extensions
Non-Text MIME Output
Process Control Extensions
Other Basic Extensions
Other Services
Search Engine Extensions
Server Specific Extensions
Session Extensions
Text Processing
Variable and Type Related Extensions
Web Services
Windows Only Extensions
XML Manipulation
GUI Extensions
Keyboard Shortcuts
?
This help
j
Next menu item
k
Previous menu item
g p
Previous man page
g n
Next man page
G
Scroll to bottom
g g
Scroll to top
g h
Goto homepage
g s
Goto search
(current page)
/
Focus search box
Введение »
« QuickHashIntStringHash::update
Руководство по PHP
Справочник функций
Модули для работы с переменными и типами
Язык:
English
German
Spanish
French
Italian
Japanese
Brazilian Portuguese
Russian
Turkish
Ukrainian
Chinese (Simplified)
Other
Модуль интроспекции кода Reflection
Введение
Примеры
Расширение
Reflection
— Класс Reflection
Reflection::export
— Экспортирует Reflection
Reflection::getModifierNames
— Получение имён модификаторов
ReflectionClass
— Класс ReflectionClass
ReflectionClass::__construct
— Создаёт объект класса ReflectionClass
ReflectionClass::export
— Экспортирует класс
ReflectionClass::getAttributes
— Получает атрибуты
ReflectionClass::getConstant
— Возвращает определённую константу
ReflectionClass::getConstants
— Возвращает константы
ReflectionClass::getConstructor
— Возвращает конструктор класса
ReflectionClass::getDefaultProperties
— Возвращает свойства по умолчанию
ReflectionClass::getDocComment
— Возвращает doc-блоки комментариев
ReflectionClass::getEndLine
— Возвращает номер последней строки
ReflectionClass::getExtension
— Возвращает объект класса ReflectionExtension для модуля, определяющего класс
ReflectionClass::getExtensionName
— Возвращает имя модуля, определяющее класс
ReflectionClass::getFileName
— Возвращает имя файла, в котором определён класс
ReflectionClass::getInterfaceNames
— Возвращает имена интерфейсов
ReflectionClass::getInterfaces
— Возвращает интерфейсы
ReflectionClass::getLazyInitializer
— Получает ленивый инициализатор
ReflectionClass::getMethod
— Возвращает экземпляр ReflectionMethod для метода класса
ReflectionClass::getMethods
— Возвращает список методов в виде массива
ReflectionClass::getModifiers
— Возвращает информацию о модификаторах класса
ReflectionClass::getName
— Возвращает имя класса
ReflectionClass::getNamespaceName
— Возвращает название пространства имён
ReflectionClass::getParentClass
— Возвращает родительский класс
ReflectionClass::getProperties
— Возвращает свойства
ReflectionClass::getProperty
— Возвращает экземпляр ReflectionProperty для свойства класса
ReflectionClass::getReflectionConstant
— Получает экземпляр класса ReflectionClassConstant для константы класса
ReflectionClass::getReflectionConstants
— Получает константы класса
ReflectionClass::getShortName
— Возвращает короткое имя
ReflectionClass::getStartLine
— Возвращает номер начальной строки
ReflectionClass::getStaticProperties
— Возвращает статические свойства
ReflectionClass::getStaticPropertyValue
— Возвращает значение статического свойства
ReflectionClass::getTraitAliases
— Возвращает массив псевдонимов трейтов
ReflectionClass::getTraitNames
— Возвращает массив имён трейтов, используемых в этом классе
ReflectionClass::getTraits
— Возвращает массив трейтов, используемых в этом классе
ReflectionClass::hasConstant
— Проверяет, определена ли константа
ReflectionClass::hasMethod
— Проверяет, задан ли метод
ReflectionClass::hasProperty
— Проверяет, определено ли свойство
ReflectionClass::implementsInterface
— Проверяет, реализуется ли интерфейс
ReflectionClass::initializeLazyObject
— Принудительно инициализирует ленивый объект
ReflectionClass::inNamespace
— Проверяет, определён ли класс в пространстве имён
ReflectionClass::isAbstract
— Проверяет, является ли класс абстрактным
ReflectionClass::isAnonymous
— Проверяет, является класс анонимным
ReflectionClass::isCloneable
— Проверяет, можно ли клонировать этот класс
ReflectionClass::isEnum
— Возвращает, является ли класс перечислением
ReflectionClass::isFinal
— Проверяет, является ли класс окончательным (final)
ReflectionClass::isInstance
— Проверяет, принадлежит ли объект классу
ReflectionClass::isInstantiable
— Проверяет, можно ли создать экземпляр класса
ReflectionClass::isInterface
— Проверяет, является ли класс интерфейсом
ReflectionClass::isInternal
— Проверяет, является ли класс встроенным в модуль или в ядро
ReflectionClass::isIterable
— Проверяет, итерируем ли класс
ReflectionClass::isIterateable
— Псевдоним ReflectionClass::isIterable
ReflectionClass::isReadOnly
— Проверяет, является ли класс доступным только для чтения
ReflectionClass::isSubclassOf
— Проверяет, является ли класс подклассом
ReflectionClass::isTrait
— Проверяет, является ли это трейтом
ReflectionClass::isUninitializedLazyObject
— Проверяет, ленив ли и неинициализирован ли объект
ReflectionClass::isUserDefined
— Проверяет, является ли класс пользовательским
ReflectionClass::markLazyObjectAsInitialized
— Помечает ленивый объект как инициализированный без вызова инициализатора или фабрики
ReflectionClass::newInstance
— Создаёт экземпляр класса с переданными аргументами
ReflectionClass::newInstanceArgs
— Создаёт экземпляр класса с переданными параметрами
ReflectionClass::newInstanceWithoutConstructor
— Создаёт новый экземпляр класса без вызова конструктора
ReflectionClass::newLazyGhost
— Создаёт новый экземпляр ленивого призрака
ReflectionClass::newLazyProxy
— Создает новый экземпляр ленивого прокси
ReflectionClass::resetAsLazyGhost
— Сбрасывает и помечает объект ленивым
ReflectionClass::resetAsLazyProxy
— Сбрасывает и помечает объект ленивым
ReflectionClass::setStaticPropertyValue
— Устанавливает значение статического свойства
ReflectionClass::__toString
— Возвращает строковое представление объекта класса ReflectionClass
ReflectionClassConstant
— Класс ReflectionClassConstant
ReflectionClassConstant::__construct
— Создаёт объект ReflectionClassConstant
ReflectionClassConstant::export
— Экспортирует
ReflectionClassConstant::getAttributes
— Получает атрибуты
ReflectionClassConstant::getDeclaringClass
— Получает объявляющий класс
ReflectionClassConstant::getDocComment
— Получает doc-комментарии
ReflectionClassConstant::getModifiers
— Получает модификаторы константы класса
ReflectionClassConstant::getName
— Получает имя константы
ReflectionClassConstant::getType
— Получает тип константы класса
ReflectionClassConstant::getValue
— Получает значение
ReflectionClassConstant::hasType
— Проверяет, назначили ли тип константе класса
ReflectionClassConstant::isDeprecated
— Проверяет, пометили ли константу устаревшей
ReflectionClassConstant::isEnumCase
— Проверяет, является ли константа класса вариантом перечисления
ReflectionClassConstant::isFinal
— Проверяет, является ли константа класса окончательной
ReflectionClassConstant::isPrivate
— Проверяет, является ли константа закрытой
ReflectionClassConstant::isProtected
— Проверяет, является ли константа защищённой
ReflectionClassConstant::isPublic
— Проверяет, является ли константа общедоступной
ReflectionClassConstant::__toString
— Возвращает строковое представление объекта ReflectionClassConstant
ReflectionConstant
— Класс ReflectionConstant
ReflectionConstant::__construct
— Создаёт объект класса ReflectionConstant
ReflectionConstant::getExtension
— Получает объект класса ReflectionExtension определяющего модуль
ReflectionConstant::getExtensionName
— Получает имя модуля
ReflectionConstant::getFileName
— Получает имя файла
ReflectionConstant::getName
— Получает имя константы
ReflectionConstant::getNamespaceName
— Получает имя пространства имён
ReflectionConstant::getShortName
— Получает короткое имя
ReflectionConstant::getValue
— Получает значение
ReflectionConstant::isDeprecated
— Проверяет, не устарела ли константа
ReflectionConstant::__toString
— Возвращает строковое представление
ReflectionEnum
— Класс ReflectionEnum
ReflectionEnum::__construct
— Создаёт объект ReflectionEnum
ReflectionEnum::getBackingType
— Получает тип перечисления с типом поддержки
ReflectionEnum::getCase
— Возвращает конкретный вариант перечисления
ReflectionEnum::getCases
— Возвращает список вариантов перечисления
ReflectionEnum::hasCase
— Проверяет вариант перечисления
ReflectionEnum::isBacked
— Определяет, типизировали ли перечисление
ReflectionEnumUnitCase
— Класс ReflectionEnumUnitCase
ReflectionEnumUnitCase::__construct
— Создаёт экземпляр объекта ReflectionEnumUnitCase
ReflectionEnumUnitCase::getEnum
— Получает Reflection-объект перечисления этого варианта
ReflectionEnumUnitCase::getValue
— Получает объект варианта перечисления, описанный Reflection-объектом
ReflectionEnumBackedCase
— Класс ReflectionEnumBackedCase
ReflectionEnumBackedCase::__construct
— Создаёт объект ReflectionEnumBackedCase
ReflectionEnumBackedCase::getBackingValue
— Получает скалярное значение варианта перечисления
ReflectionZendExtension
— Класс ReflectionZendExtension
ReflectionZendExtension::__clone
— Обработчик клонирования
ReflectionZendExtension::__construct
— Создаёт объект ReflectionZendExtension
ReflectionZendExtension::export
— Экспорт
ReflectionZendExtension::getAuthor
— Получает автора
ReflectionZendExtension::getCopyright
— Получает авторские права
ReflectionZendExtension::getName
— Получает имя
ReflectionZendExtension::getURL
— Получает URL
ReflectionZendExtension::getVersion
— Получает версию
ReflectionZendExtension::__toString
— Обработчик преобразования в строку
ReflectionExtension
— Класс ReflectionExtension
ReflectionExtension::__clone
— Клонирует объект
ReflectionExtension::__construct
— Создаёт объект класса ReflectionExtension
ReflectionExtension::export
— Экспортирует модуль
ReflectionExtension::getClasses
— Возвращает классы
ReflectionExtension::getClassNames
— Получение имён классов
ReflectionExtension::getConstants
— Получение констант
ReflectionExtension::getDependencies
— Получение зависимостей
ReflectionExtension::getFunctions
— Получение функций модуля
ReflectionExtension::getINIEntries
— Получение ini-настроек модуля
ReflectionExtension::getName
— Получение имени модуля
ReflectionExtension::getVersion
— Получение версии модуля
ReflectionExtension::info
— Вывод информации о модуле
ReflectionExtension::isPersistent
— Определяет, является ли модуль постоянным
ReflectionExtension::isTemporary
— Определяет, является ли модуль временным
ReflectionExtension::__toString
— Преобразование в строку
ReflectionFunction
— Класс ReflectionFunction
ReflectionFunction::__construct
— Конструктор класса ReflectionFunction
ReflectionFunction::export
— Экспортирует функции
ReflectionFunction::getClosure
— Возвращает динамически созданное замыкание для функции
ReflectionFunction::invoke
— Вызывает функцию
ReflectionFunction::invokeArgs
— Вызов функции с передачей аргументов
ReflectionFunction::isAnonymous
— Проверяет, является ли функция анонимной
ReflectionFunction::isDisabled
— Проверяет, отключили ли функцию
ReflectionFunction::__toString
— Возвращает строковое представление объекта ReflectionFunction
ReflectionFunctionAbstract
— Класс ReflectionFunctionAbstract
ReflectionFunctionAbstract::__clone
— Клонирует функцию
ReflectionFunctionAbstract::getAttributes
— Получает атрибуты
ReflectionFunctionAbstract::getClosureCalledClass
— Возвращает класс, который соответствует разрешению static:: внутри замыкания
ReflectionFunctionAbstract::getClosureScopeClass
— Возвращает класс, который соответствует области видимости внутри замыкания
ReflectionFunctionAbstract::getClosureThis
— Возвращает объект, который соответствует псевдопеременной $this внутри замыкания
ReflectionFunctionAbstract::getClosureUsedVariables
— Возвращает массив используемых в замыкании переменных
ReflectionFunctionAbstract::getDocComment
— Получает doc-комментарий
ReflectionFunctionAbstract::getEndLine
— Получает номер строки завершения описания функции
ReflectionFunctionAbstract::getExtension
— Получает информацию о модуле
ReflectionFunctionAbstract::getExtensionName
— Получение имени модуля
ReflectionFunctionAbstract::getFileName
— Получает имя файла
ReflectionFunctionAbstract::getName
— Получает имя функции
ReflectionFunctionAbstract::getNamespaceName
— Получение имени пространства имён
ReflectionFunctionAbstract::getNumberOfParameters
— Получает количество параметров
ReflectionFunctionAbstract::getNumberOfRequiredParameters
— Получает количество обязательных параметров
ReflectionFunctionAbstract::getParameters
— Получает параметры
ReflectionFunctionAbstract::getReturnType
— Получает объявленный тип возвращаемого функцией значения
ReflectionFunctionAbstract::getShortName
— Получает короткое имя функции
ReflectionFunctionAbstract::getStartLine
— Получает начальный номер строки
ReflectionFunctionAbstract::getStaticVariables
— Получает статические переменные
ReflectionFunctionAbstract::getTentativeReturnType
— Возвращает предварительный тип возвращаемого значения, связанный с функцией
ReflectionFunctionAbstract::hasReturnType
— Проверяет, имеет ли функция объявленный тип возвращаемого значения
ReflectionFunctionAbstract::hasTentativeReturnType
— Определяет, есть ли у функции предварительный тип возвращаемого значения
ReflectionFunctionAbstract::inNamespace
— Проверяет, находится ли функция в пространстве имён
ReflectionFunctionAbstract::isClosure
— Проверяет, является ли функция замыканием (Closure)
ReflectionFunctionAbstract::isDeprecated
— Проверяет, устарела ли функция
ReflectionFunctionAbstract::isGenerator
— Проверяет, является ли функция генератором
ReflectionFunctionAbstract::isInternal
— Проверяет, является ли функция внутренней
ReflectionFunctionAbstract::isStatic
— Проверяет, является ли функция статической
ReflectionFunctionAbstract::isUserDefined
— Проверяет, является ли функция определённой пользователем
ReflectionFunctionAbstract::isVariadic
— Проверяет, является ли функция функцией с переменным числом аргументов
ReflectionFunctionAbstract::returnsReference
— Проверяет, что функция возвращает ссылку
ReflectionFunctionAbstract::__toString
— Возвращает строковое представление объекта ReflectionFunctionAbstract
ReflectionMethod
— Класс ReflectionMethod
ReflectionMethod::__construct
— Конструктор класса ReflectionMethod
ReflectionMethod::createFromMethodName
— Создаёт объект класса ReflectionMethod
ReflectionMethod::export
— Экспорт отражённого метода
ReflectionMethod::getClosure
— Возвращает динамически созданное замыкание для метода
ReflectionMethod::getDeclaringClass
— Получает класс, объявляющий отражённый метод
ReflectionMethod::getModifiers
— Получает модификаторы метода
ReflectionMethod::getPrototype
— Получает прототип метода (если такой есть)
ReflectionMethod::hasPrototype
— Определяет, есть ли у метода прототип
ReflectionMethod::invoke
— Вызов
ReflectionMethod::invokeArgs
— Вызов метода с передачей аргументов массивом
ReflectionMethod::isAbstract
— Проверяет, является ли метод абстрактным
ReflectionMethod::isConstructor
— Проверяет, является ли метод конструктором
ReflectionMethod::isDestructor
— Проверяет, является ли метод деструктором
ReflectionMethod::isFinal
— Проверяет, является ли метод окончательным
ReflectionMethod::isPrivate
— Проверяет, является ли метод закрытым
ReflectionMethod::isProtected
— Проверяет, является ли метод защищённым
ReflectionMethod::isPublic
— Проверяет, является ли метод общедоступным
ReflectionMethod::setAccessible
— Делает метод доступным
ReflectionMethod::__toString
— Возвращает строковое представление объекта ReflectionMethod
ReflectionNamedType
— Класс ReflectionNamedType
ReflectionNamedType::getName
— Получает имя типа в виде строки
ReflectionNamedType::isBuiltin
— Проверяет, является ли тип встроенным
ReflectionObject
— Класс ReflectionObject
ReflectionObject::__construct
— Конструктор класса ReflectionObject
ReflectionObject::export
— Экспорт
ReflectionParameter
— Класс ReflectionParameter
ReflectionParameter::allowsNull
— Проверяет, допустимо ли значение null для параметра
ReflectionParameter::canBePassedByValue
— Проверяет, можно ли передать этот аргумент по значению
ReflectionParameter::__clone
— Клонирует
ReflectionParameter::__construct
— Конструктор
ReflectionParameter::export
— Экспорт
ReflectionParameter::getAttributes
— Получает атрибуты
ReflectionParameter::getClass
— Получает объект ReflectionClass для отражаемого параметра или null
ReflectionParameter::getDeclaringClass
— Получение объявляющего класса
ReflectionParameter::getDeclaringFunction
— Получение объявляющей функции
ReflectionParameter::getDefaultValue
— Получение значения по умолчанию для параметра
ReflectionParameter::getDefaultValueConstantName
— Возвращает имя константы значения по умолчанию, если значение по умолчанию константа или null
ReflectionParameter::getName
— Получение имени параметра
ReflectionParameter::getPosition
— Получение позиции параметра
ReflectionParameter::getType
— Получает тип параметра
ReflectionParameter::hasType
— Проверяет, указали ли тип параметра
ReflectionParameter::isArray
— Проверяет, ожидает ли параметр массив в аргументе
ReflectionParameter::isCallable
— Проверяет, объявили ли тип параметра как callable
ReflectionParameter::isDefaultValueAvailable
— Проверяет, доступно ли значение по умолчанию
ReflectionParameter::isDefaultValueConstant
— Определяет, установили ли параметру константу как значение по умолчанию
ReflectionParameter::isOptional
— Проверяет, является ли аргумент необязательным
ReflectionParameter::isPassedByReference
— Проверяет, передан ли параметр по ссылке
ReflectionParameter::isPromoted
— Проверяет, продвинут ли параметр до свойства объекта
ReflectionParameter::isVariadic
— Проверяет вариативность параметра
ReflectionParameter::__toString
— Преобразование в строку
ReflectionProperty
— Класс ReflectionProperty
ReflectionProperty::__clone
— Клонирует
ReflectionProperty::__construct
— Создаёт объект класса ReflectionProperty
ReflectionProperty::export
— Экспортирует
ReflectionProperty::getAttributes
— Получает атрибуты
ReflectionProperty::getDeclaringClass
— Получает класс, в котором объявили свойство
ReflectionProperty::getDefaultValue
— Возвращает значение по умолчанию, которое объявили для свойства
ReflectionProperty::getDocComment
— Получает doc-комментарий свойства
ReflectionProperty::getModifiers
— Получает модификаторы свойства
ReflectionProperty::getName
— Получает имя свойства
ReflectionProperty::getType
— Получает тип свойства
ReflectionProperty::getValue
— Получает значение
ReflectionProperty::hasDefaultValue
— Проверяет, задано ли для свойства значение по умолчанию
ReflectionProperty::hasType
— Проверяет, есть ли у свойства тип
ReflectionProperty::isDefault
— Проверяет, является ли значение свойством по умолчанию
ReflectionProperty::isDynamic
— Проверяет, является ли свойство динамическим
ReflectionProperty::isInitialized
— Проверяет, инициализировали ли свойство
ReflectionProperty::isLazy
— Проверяет, лениво ли свойство
ReflectionProperty::isPrivate
— Проверяет, является ли свойство закрытым
ReflectionProperty::isPromoted
— Проверяет, определено ли свойство в конструкторе
ReflectionProperty::isProtected
— Проверяет, является ли свойство защищённым
ReflectionProperty::isPublic
— Проверяет, является ли свойство общедоступным
ReflectionProperty::isReadOnly
— Проверяет, является ли свойство readonly-свойством
ReflectionProperty::isStatic
— Проверяет, определили ли свойство статическим
ReflectionProperty::setAccessible
— Устанавливает доступность свойства
ReflectionProperty::setRawValueWithoutLazyInitialization
— Устанавливает необработанное значение свойства без запуска ленивой инициализации
ReflectionProperty::setValue
— Устанавливает значение свойству
ReflectionProperty::skipLazyInitialization
— Помечает свойство как неленивое
ReflectionProperty::__toString
— Преобразовывает экземпляр свойства в строку
ReflectionType
— Класс ReflectionType
ReflectionType::allowsNull
— Проверяет, допустим ли NULL
ReflectionType::__toString
— Получает название типа параметра
ReflectionUnionType
— Класс ReflectionUnionType
ReflectionUnionType::getTypes
— Возвращает типы, включённые в тип union
ReflectionGenerator
— Класс ReflectionGenerator
ReflectionGenerator::__construct
— Конструктор ReflectionGenerator
ReflectionGenerator::getExecutingFile
— Получает имя файла, из которого запустили генератор
ReflectionGenerator::getExecutingGenerator
— Получает запущенный объект класса Generator
ReflectionGenerator::getExecutingLine
— Получает текущую строку, которую выполняет генератор
ReflectionGenerator::getFunction
— Получает имя функции генератора
ReflectionGenerator::getThis
— Получает значение $this генератора
ReflectionGenerator::getTrace
— Получает трассировку запущенного генератора
ReflectionGenerator::isClosed
— Проверяет, завершилось ли выполнение
ReflectionFiber
— Класс ReflectionFiber
ReflectionFiber::__construct
— Создаёт объект ReflectionFiber
ReflectionFiber::getCallable
— Получает вызываемый объект, используемый для создания файбера
ReflectionFiber::getExecutingFile
— Получает имя файла текущей точки выполнения
ReflectionFiber::getExecutingLine
— Получает номер строки текущей точки выполнения
ReflectionFiber::getFiber
— Получает отражённый экземпляр файбера
ReflectionFiber::getTrace
— Получает обратную трассировку текущей точки выполнения
ReflectionIntersectionType
— Класс ReflectionIntersectionType
ReflectionIntersectionType::getTypes
— Возвращает пересекающиеся типы
ReflectionReference
— Класс ReflectionReference
ReflectionReference::__construct
— Закрытый конструктор, запрещающий создание экземпляра напрямую
ReflectionReference::fromArrayElement
— Создаёт объект ReflectionReference из элемента массива
ReflectionReference::getId
— Получает уникальный идентификатор ссылки
ReflectionAttribute
— Класс ReflectionAttribute
ReflectionAttribute::__construct
— Закрытый конструктор, запрещающий создание объекта напрямую
ReflectionAttribute::getArguments
— Возвращает аргументы, переданные атрибуту
ReflectionAttribute::getName
— Возвращает имя атрибута
ReflectionAttribute::getTarget
— Возвращает цель атрибута в виде битовой маски
ReflectionAttribute::isRepeated
— Определяет, был ли атрибут с таким именем указан многократно в элементе кода
ReflectionAttribute::newInstance
— Создаёт экземпляр класса атрибута, используя содержащиеся в объекте ReflectionAttribute имя класса и аргументы
Reflector
— Интерфейс Reflector
Reflector::export
— Экспорт
ReflectionException
— Класс ReflectionException
Нашли ошибку?
Инструкция
•
Исправление
•
Сообщение об ошибке
+
Добавить
Примечания пользователей
Пользователи ещё не добавляли примечания для страницы
↑
and
↓
to navigate •
Enter
to select •
Esc
to close
Press
Enter
without selection to search using Google