Класс CookieComponent
Компонент Cookie.
Обеспечивает расширенные возможности работы с куки для использования в слое контроллера. В дополнение к базовым функциям, предлагаемым Cake\Network\Response, этот класс позволяет:
- Создавать и читать зашифрованные куки.
- Хранить данные, не являющиеся скалярами.
- Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
- Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait, Cake\Log\LogTrait
-
Cake\Controller\Component\CookieComponent uses Cake\Utility\CookieCryptTrait
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components/cookie.html
Расположение: Controller/Component/CookieComponent.php
Подробное описание методов
_deletesource protected
_delete( string $name )
Устанавливает время истечения срока действия куки для удаления значения куки.
Это выполняется только после того, как все значения в ключе куки будут удалены с помощью delete.
Параметры
- строка
$name - Имя куки
_getCookieEncryptionKeysource protected
_getCookieEncryptionKey( )
Возвращает ключ шифрования, который будет использоваться.
Возвращает
stringстрока
_loadsource protected
_load( string|array $key )
Загрузка данных куки из объектов запроса и ответа.
На основе данных конфигурации куки будут расшифрованы. Когда куки содержат массив данных, эти данные будут расширены.
Параметры
- строка|массив
$key - Ключ для загрузки.
_writesource protected
_write( string $name , string $value )
Установка куки
Параметры
- строка
$name - Имя куки
- строка
$value - Значение куки
checksource public
check( string|null $key null )
Возвращает true, если заданный ключ установлен в куки.
Параметры
- строка|null
$keyнеобязательно null - Ключ для проверки
Возвращает
booleanTrue, если ключ существует
configKeysource public
configKey( string $keyname , null|string|array $option null , string|null $value null )
Установите конфигурацию для определенного ключа верхнего уровня.
Примеры:
Установите один параметр конфигурации для ключа:
$this->Cookie->configKey('User', 'expires', '+3 months');
Установите несколько параметров:
$this->Cookie->configKey('User', [ 'expires', '+3 months', 'httpOnly' => true, ]);
Параметры
- строка
$keyname - Имя ключа верхнего уровня для конфигурации.
- null|строка|массив
$optionнеобязательно null - Имя параметра для установки, или массив параметров для установки, или null для чтения параметров конфигурации для данного ключа.
- строка|null
$valueнеобязательно null - Значение для установки, или пустое значение, когда $option является массивом.
Возвращает
array|nullмассив|null
deletesource public
delete( string $key )
Удалить значение куки
Вы должны использовать этот метод до отправки любого вывода в браузер. В противном случае возникнут ошибки "заголовок уже отправлен".
Удаление ключа верхнего уровня удалит все вложенные ключи. Например, удаление ключа User также удалит User.email.
Параметры
- строка
$key - Ключ значения, который нужно удалить
implementedEventssource public
implementedEvents( )
Поддерживаемые события этого компонента.
Возвращает
arrayмассив
Переопределяет
Cake\Controller\Component::implementedEvents() initializesource public
initialize( array $config )
Инициализация данных конфигурации и свойств.
Параметры
- массив
$config - Данные конфигурации.
Переопределяет
Cake\Controller\Component::initialize() readsource public
read( string|null $key null )
Чтение значения пути ключа из куки запроса.
Этот метод также позволит вам читать куки, которые были записаны в этом запросе, но еще не отправлены клиенту.
Параметры
- строка|null
$keyнеобязательно null - Ключ значения, которое нужно получить.
Возвращает
stringили null, значение для указанного ключа
writesource public
write( string|array $key , mixed $value null )
Запись значения в куки ответа.
Вы должны использовать этот метод до отправки любого вывода в браузер. В противном случае возникнут ошибки "заголовок уже отправлен".
Параметры
- строка|массив
$key - Ключ значения
- смешанный
$valueнеобязательно null - Значение
Наследованные методы из Cake\Controller\Component
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - КомпонентRegistry, который может использовать этот компонент для ленивой загрузки своих компонентов
- массив
$configнеобязательно [] - Массив параметров конфигурации.
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
arrayмассив
__getsource public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращает
mixedОбъект компонента или null.
Методы, используемые из Cake\Utility\CookieCryptTrait
_checkCiphersource protected
_checkCipher( string $encrypt )
Вспомогательный метод для проверки имён шифров шифрования.
Параметры
- строка
$encrypt - Имя шифра.
Исключения
RuntimeExceptionПри предоставлении недопустимого шифра.
_decodesource protected
_decode( string $value , string|false $encrypt )
Декодирует и расшифровывает одно значение.
Параметры
- строка
$value - Значение для декодирования и расшифровки.
- строка|ложь
$encrypt - Шифр шифрования для использования.
Возвращает
stringДекодированное значение.
_decryptsource protected
_decrypt( array $values , string|boolean $mode )
Расшифровывает $value, используя метод public $type класса Security.
Параметры
- массив
$values - Значения для расшифровки.
- строка|логическое
$mode - Режим шифрования.
Возвращает
stringРасшифрованная строка.
_encryptsource protected
_encrypt( string $value , string|boolean $encrypt , string|null $key null )
Шифрует $value, используя метод public $type класса Security.
Параметры
- строка
$value - Значение для шифрования.
- строка|логическое
$encrypt - Режим шифрования для использования. Ложь отключает шифрование.
- строка|null
$keyнеобязательно null - Используется в качестве соли безопасности только в этот раз для тестов, если указано.
Возвращает
stringКодированные значения.
_explodesource protected
_explode( string $string )
Метод explode для возврата массива из строки, установленной в CookieComponent::_implode(). Сохраняет обратную совместимость чтения с 1.x CookieComponent::_implode().
Параметры
- строка
$string - Строка, содержащая данные, закодированные в JSON, или обычная строка.
Возвращает
arrayКарта ключей и значений.
_implodesource protected
_implode( array $array )
Метод implode для сохранения ключей в многомерных массивах.
Параметры
- массив
$array - Карта ключей и значений.
Возвращает
stringСтрока, закодированная в JSON.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удаление одного ключа конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Исключение
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configReadsource protected
_configRead( string|null $key )
Чтение переменной конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixedсмешанное
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- логическое|строка
$mergeнеобязательно ложь - Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Исключение
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
configsource public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key');
Чтение вложенного значения:
$this->config('some.nested.key');
Установка определенного значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или весь массив настроек.
- смешанное|null
$valueнеобязательно null - Значение для установки.
- логическое
$mergeнеобязательно истина - Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истина.
Возвращает
mixedЗначение конфигурации, которое читается, или сам объект при операциях записи.
Исключение
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
Объединение предоставленной конфигурации с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или весь массив конфигураций.
- смешанное|null
$valueнеобязательно null - Значение для установки.
Возвращает
mixedСам объект.
Методы, используемые из Cake\Log\LogTrait
logsource public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанное
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Сводка свойств
Наследуемые свойства из Cake\Controller\Component
$_componentMapsource
protected array
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
[]
$_registrysource
protected Cake\Controller\ComponentRegistry
Класс реестра компонентов, используемый для ленивой загрузки компонентов.
Используемые свойства из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Была ли уже настроена конфигурация свойства с значениями по умолчанию
false Используемые свойства из Cake\Utility\CookieCryptTrait
$_validCipherssource
protected array
Допустимые имена шифров для зашифрованных cookie.
['aes', 'rijndael']
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Controller.Component.CookieComponent.html