method
public
TimeSigner::unpack()
Сигнатура
public unpack(string $value[, int $limit = 2 ]) : array<string|int, mixed>
Описание
Простой пример для разделителя ".":
// Распаковка всех значений:
unpack('test.all.values', 0) -> ['test', 'all', 'values']
// Распаковка 2 значений (по умолчанию). Первый элемент содержит остаток строки.
unpack('test.all.values') -> ['test.all', 'values']
// Исключение, если разделитель отсутствует
unpack('test.all values', 3) -> throws BadSignatureException
Параметры
$value
string
Строка для распаковки.
$limit
int
= 2
Если $limit === 0 — распаковываются все значения, по умолчанию — 2.
Возвращаемое значение
array<string|int, mixed>
Как применяется в TimeSigner
TimeSigner::unpack() — метод класса \Bitrix\Main\Security\Sign\TimeSigner модуля «Главный модуль».
Метод объекта: сначала нужен экземпляр TimeSigner.
use Bitrix\Main\Security\Sign\TimeSigner;
/** @var TimeSigner $object */
$value = '';
$result = $object->unpack($value);
// $result: array<string|int, mixed>Другие методы TimeSigner
getSeparator()Возвращает разделитель, используемый для упаковки/распаковкиgetSignature()Возвращает подпись сообщенияpack()Упаковывает значения массива в одну строку: pack(['test', 'all', 'values']) -> 'test.all.values'setKey()Устанавливает ключ для подписиsetSeparator()Устанавливает разделитель, используемый для упаковки/распаковкиsign()Подписывает сообщение со временем истечения, возвращает строку в формате: {message}{separator}{expired timestamp}{separator}{signature}unsign()Проверяет подпись сообщения и его срок действия. Если всё в порядке — возвращает исходное…validate()Простая проверка подписи сообщения
unpack() есть и у других классов модуля «Главный модуль»: Signer.
Исходный файл: source/main/lib/security/sign/timesigner.php:248

