Класс CookieComponent
Компонент Cookie.
Обеспечивает расширенные возможности работы с куки для использования в контроллере. В дополнение к базовым функциям, предоставляемым Cake\Http\Response, этот класс позволяет:
- Создавать и читать зашифрованные куки.
- Хранить нескалярные данные.
- Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
- Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
-
Cake\Controller\Component\CookieComponent uses Cake\Utility\CookieCryptTrait
Ссылка: https://book.cakephp.org/3.0/ru/controllers/components/cookie.html
Устарело: 3.5.0 Используйте Cake\Http\Middleware\EncryptedCookieMiddleware и Cake\Http\Cookie\Cookie методы вместо этого.
Расположение: Controller/Component/CookieComponent.php
Краткое описание свойств
-
$_defaultConfigprotectedКонфигурация по умолчаниюarray -
$_keyConfigprotectedКонфигурация, специфичная для данного ключа верхнего уровня.array -
$_loadedprotectedКарта загруженных ключей.array -
$_responseprotectedCake\Http\Response|nullСсылка на объект Cake\Http\Response контроллера. В настоящее время не используется.
-
$_valuesprotectedЗначения, хранящиеся в куки.array
Унаследованные свойства
Краткое описание методов
- Устанавливает время истечения срока действия куки для удаления значения куки.
- Возвращает ключ шифрования, который будет использоваться.
- Загружает данные куки из объектов запроса и ответа.
- Устанавливает куки
- Возвращает true, если заданный ключ установлен в куки.
- Устанавливает конфигурацию для определенного ключа верхнего уровня.
- Удалить значение куки
- Поддерживаемые события этого компонента.
- Инициализирует данные конфигурации и свойства.
- Считывает значение ключа пути из куков запроса.
- Записать значение в куки ответа.
Подробное описание методов
_delete()source protected устарело
_delete( string $name )
Устанавливает время истечения срока действия куки для удаления значения куки.
Это делается только после удаления всех значений в ключе куки с помощью delete.
Параметры
- строка
$name - Имя куки
_getCookieEncryptionKey()source protected устарело
_getCookieEncryptionKey( )
Возвращает ключ шифрования, который будет использоваться.
Возвращаемое значение
строка_load()source protected устарело
_load( string|array $key )
Загружает данные куки из объектов запроса и ответа.
Основываясь на данных конфигурации, куки будут расшифрованы. Когда куки содержат массив данных, эти данные будут расширены.
Параметры
- строка|массив
$key - Ключ для загрузки.
_write()source protected устарело
_write( string $name , string $value )
Устанавливает куки
Параметры
- строка
$name - Имя для куки
- строка
$value - Значение для куки
check()source public устарело
check( string|null $key = null )
Возвращает true, если заданный ключ установлен в куки.
Параметры
- строка|null
$keyнеобязательно null - Ключ для проверки
Возвращаемое значение
booleanTrue, если ключ существует
configKey()source 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 — массив.
Возвращаемое значение
массив|nulldelete()source public устарело
delete( string $key )
Удалить значение куки
Этот метод должен быть использован до отправки любого вывода в браузер. В противном случае возникнут ошибки "заголовок уже отправлен".
Удаление ключа верхнего уровня удалит все ключи, вложенные в этот ключ. Например, удаление ключа User также удалит User.email.
Параметры
- строка
$key - Ключ значения, которое нужно удалить
implementedEvents()source public устарело
implementedEvents( )
Поддерживаемые события этого компонента.
Возвращаемое значение
массивПереопределяет
Cake\Controller\Component::implementedEvents() initialize()source public устарело
initialize( array $config )
Инициализирует данные конфигурации и свойства.
Параметры
- массив
$config - Данные конфигурации.
Переопределяет
Cake\Controller\Component::initialize() read()source public deprecated
read( string|null $key = null )
Получить значение ключа из куки-файлов запроса.
Этот метод также позволит вам получить доступ к кукам, которые были записаны в этом запросе, но еще не отправлены клиенту.
Параметры
- string|null
$keyнеобязательно null - Ключ искомого значения.
Возвращает
stringили null, значение для указанного ключа
write()source public deprecated
write( string|array $key , mixed $value = null )
Записать значение в куки-файлы ответа.
Этот метод должен быть использован до отправки любого вывода браузеру. Иначе возникнет ошибка "заголовок уже отправлен".
Параметры
- string|array
$key - Ключ для значения
- mixed
$valueнеобязательно null - Значение
Методы, унаследованные от Cake\Controller\Component
__construct()source public
__construct( Cake\Controller\ComponentRegistry $registry , array $config = [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - ComponentRegistry, который этот компонент может использовать для ленивой загрузки своих компонентов
- array
$configнеобязательно [] - Массив настроек конфигурации.
__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
array__get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- string
$name - Имя компонента для получения.
Возвращает
mixedОбъект компонента или null.
getController()source public
getController( )
Получить контроллер, к которому привязан этот компонент.
Возвращает
Cake\Controller\ControllerСвязанный контроллер.
Методы, используемые из Cake\Utility\CookieCryptTrait
_checkCipher()source protected
_checkCipher( string $encrypt )
Вспомогательный метод для проверки имен шифров шифрования.
Параметры
- string
$encrypt - Имя шифра.
Выбрасывает
RuntimeExceptionПри указании недействительного шифра.
_decode()source protected
_decode( string $value , string|false $encrypt , string|null $key )
Декодирует и расшифровывает одно значение.
Параметры
- string
$value - Значение для декодирования и расшифровки.
- string|false
$encrypt - Используемый шифр шифрования.
- string|null
$key - Используется в качестве секретной соли, если указан.
Возвращает
string|arrayДекодированные значения.
_decrypt()source protected
_decrypt( array $values , string|boolean $mode , string|null $key = null )
Расшифровывает $value, используя метод public $type класса Security.
Параметры
- array
$values - Значения для расшифровки
- string|boolean
$mode - Режим шифрования
- string|null
$keyнеобязательно null - Используется в качестве секретной соли, если указан.
Возвращает
string|arrayРасшифрованные значения
_encrypt()source protected
_encrypt( string $value , string|boolean $encrypt , string|null $key = null )
Шифрует $value, используя метод public $type класса Security.
Параметры
- string
$value - Значение для шифрования
- string|boolean
$encrypt Используемый режим шифрования. False отключает шифрование.
- string|null
$keyнеобязательно null - Используется в качестве секретной соли, если указан.
Возвращает
stringЗакодированные значения
_explode()source protected
_explode( string $string )
Метод explode для возвращения массива из строки, заданной в CookieComponent::_implode(). Сохраняет обратную совместимость с CookieComponent::_implode() версии 1.x.
Параметры
- string
$string - Строка, содержащая данные в формате JSON или обычная строка.
Возвращает
string|arrayКарта ключей и значений
_implode()source protected
_implode( array $array )
Метод implode, чтобы ключи оставались многомерными массивами.
Параметры
- array
$array - Карта ключей и значений
Возвращает
stringСтрока в формате JSON.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет отдельный ключ конфигурации.
Параметры
- string
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeнеобязательно false True для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Выбрасывает
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
config()source public deprecated
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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигурации.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Рекурсивное объединение или перезапись существующей конфигурации, по умолчанию true.
Возвращает
mixedЗначение конфигурации, которое читается или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединить предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив настроек.
- смешанное|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанное
$defaultнеобязательно null - Возвращаемое значение, когда ключ не существует.
Возвращает
смешанноеДанные конфигурации по указанному ключу или null, если ключ не существует.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив настроек.
- смешанное|null
$valueнеобязательно null - Значение для установки.
- булево
$mergeнеобязательно true - Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
$this
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
Параметры
- смешанное
$msg - Сообщение журнала.
- целое|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
булевоУспешность записи в журнал.
Подробное описание свойств
$_defaultConfigsource
protected массив
Конфигурация по умолчанию
-
expires- Срок действия файлов cookie. По умолчанию 1 месяц. -
path- Путь на сервере, в котором доступен файл cookie. Если путь установлен на '/foo/', файл cookie будет доступен только в каталоге /foo/ и всех его подкаталогах, таких как /foo/bar/ домена. Значение по умолчанию — основной путь приложения. Например, если ваше приложение работает в подкаталоге «cakeapp» корневого каталога, путь будет «/cakeapp/», иначе — «/». -
domain- Домен, в котором доступен файл cookie. Чтобы сделать файл cookie доступным для всех поддоменов example.com, установите домен на '.example.com'. -
secure- Указывает, что файл cookie должен передаваться только по защищенному соединению HTTPS. При установке в значение true файл cookie будет установлен только в том случае, если существует защищенное соединение. -
key- Ключ шифрования, используемый при включенных зашифрованных файлах cookie. По умолчанию Security.salt. -
httpOnly- Установите в значение true, чтобы создать cookie HTTP-only. HTTP-only cookie недоступен в JavaScript. По умолчанию false. -
encryption- Тип шифрования для использования. По умолчанию 'aes'.
[
'path' => null,
'domain' => '',
'secure' => false,
'key' => null,
'httpOnly' => false,
'encryption' => 'aes',
'expires' => '+1 month',
] $_keyConfigsource
protected массив
Конфигурация, специфичная для данного имени ключа верхнего уровня.
Значения в этом массиве объединяются с общей конфигурацией для генерации конфигурации для данного имени файла cookie верхнего уровня.
[]
$_loadedsource
protected массив
Карта ключей, которые были загружены.
Поскольку CookieComponent лениво считывает данные cookie, нам нужно отслеживать, какие cookie были прочитаны, чтобы учесть шаблоны чтения, удаления и повторного чтения.
[]
$_responsesource
protected Cake\Http\Response|null
Ссылка на объект Cake\Http\Response контроллера. В настоящее время не используется.
Устарело
3.4.0 Будет удалено в 4.0.0$_valuessource
protected массив
Значения, хранящиеся в файле cookie.
Доступ к ним в контроллере с помощью $this->Cookie->read('Name.key');
[]
© 2005–present 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.
https://api.cakephp.org/3.8/class-Cake.Controller.Component.CookieComponent.html