Класс CookieComponent
Компонент Cookie.
Предоставляет расширенные функции обработки файлов cookie для использования в контроллере. В дополнение к базовым функциям, предлагаемым Cake\Http\Response, этот класс позволяет:
- Создавать и читать зашифрованные файлы cookie.
- Хранить данные, не являющиеся скалярами.
- Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
- 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Значения, хранящиеся в файле cookie.array
Унаследованные свойства
Краткое описание методов
- Устанавливает время истечения срока действия файла cookie для удаления значения файла cookie.
- Возвращает ключ шифрования, который будет использоваться.
- Загрузить данные файла cookie из объектов запроса и ответа.
- Установить файл cookie
- Возвращает true, если заданный ключ установлен в файле cookie.
- Установить конфигурацию для определённого ключа верхнего уровня.
- Удалить значение файла cookie
- Поддерживаемые события данного компонента.
- Инициализировать данные конфигурации и свойства.
- Прочитать значение пути ключа из файлов cookie запроса.
- Записать значение в файлы cookie ответа.
Подробное описание методов
_delete()source protected deprecated
_delete( string $name )
Устанавливает время истечения срока действия файла cookie для удаления значения файла cookie.
Это выполняется только после удаления всех значений в ключе файла cookie с помощью delete.
Параметры
- строка
$name - Имя файла cookie
_getCookieEncryptionKey()source protected deprecated
_getCookieEncryptionKey( )
Возвращает ключ шифрования, который будет использоваться.
Возвращаемое значение
строка_load()source protected deprecated
_load( string|array $key )
Загрузить данные файла cookie из объектов запроса и ответа.
На основе данных конфигурации файлы cookie будут расшифрованы. Когда файлы cookie содержат данные массива, эти данные будут расширены.
Параметры
- строка|массив
$key - Ключ для загрузки.
_write()source protected deprecated
_write( string $name , string $value )
Установить файл cookie
Параметры
- строка
$name - Имя файла cookie
- строка
$value - Значение файла cookie
check()source public deprecated
check( string|null $key = null )
Возвращает true, если заданный ключ установлен в файле cookie.
Параметры
- строка|null
$keyoptional null - Ключ для проверки
Возвращаемое значение
booleanTrue, если ключ существует
configKey()source public deprecated
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|строка|массив
$optionoptional null Имя параметра для установки, или массив параметров для установки, или null для чтения параметров конфигурации для данного ключа.
- строка|null
$valueoptional null - Значение для установки, или пустое, когда $option является массивом.
Возвращаемое значение
массив|nulldelete()source public deprecated
delete( string $key )
Удалить значение файла cookie
Вы должны использовать этот метод до отправки любого вывода в браузер. В противном случае возникнут ошибки «заголовок уже отправлен».
Удаление ключа верхнего уровня удалит все вложенные ключи. Например, удаление ключа User также удалит User.email.
Параметры
- строка
$key - Ключ удаляемого значения
implementedEvents()source public deprecated
implementedEvents( )
Поддерживаемые события данного компонента.
Возвращаемое значение
массивПереопределяет
Cake\Controller\Component::implementedEvents() initialize()source public deprecated
initialize( array $config )
Инициализировать данные конфигурации и свойства.
Параметры
- массив
$config - Данные конфигурации.
Переопределяет
Cake\Controller\Component::initialize() read()source public устаревший
read( string|null $key = null )
Считывает значение ключа из куки-файлов запроса.
Этот метод также позволит вам считывать куки, которые были записаны в этом запросе, но еще не отправлены клиенту.
Параметры
- string|null
$keyнеобязательный null - Ключ искомого значения.
Возвращает
stringили null, значение для указанного ключа
write()source public устаревший
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 - КомпонентRegistry, который может использоваться этим компонентом для ленивой загрузки своих компонентов
- 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() Сохраняет обратную совместимость со считыванием с 1.x CookieComponent::_implode().
Параметры
- 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 устаревший
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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|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'); Параметры
- string|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultнеобязательно null - Значение, возвращаемое, когда ключ не существует.
Возвращает
mixedСчитываемое значение конфигурации.
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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$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().
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Подробная информация о свойствах
$_defaultConfigsource
protected array
Конфигурация по умолчанию
-
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. Файлы cookie, которые являются только для HTTP, недоступны в JavaScript. По умолчанию false. -
encryption- Тип шифрования для использования. По умолчанию 'aes'.
[
'path' => null,
'domain' => '',
'secure' => false,
'key' => null,
'httpOnly' => false,
'encryption' => 'aes',
'expires' => '+1 month',
] $_keyConfigsource
protected array
Конфигурация, специфичная для данного имени ключа верхнего уровня.
Значения в этом массиве объединяются со значениями общей конфигурации для генерации конфигурации для данного имени файла cookie верхнего уровня.
[]
$_loadedsource
protected array
Карта ключей, которые были загружены.
Поскольку CookieComponent лениво считывает данные файла cookie, нам необходимо отслеживать, какие файлы cookie были прочитаны, чтобы учесть шаблоны чтения, удаления и чтения.
[]
$_responsesource
protected Cake\Http\Response|null
Ссылка на объект Cake\Http\Response контроллера. В настоящее время не используется.
Устарело
3.4.0 Будет удалено в версии 4.0.0$_valuessource
protected array
Значения, хранящиеся в файле 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.6/class-Cake.Controller.Component.CookieComponent.html