Spec-Zone.ru › CakePHP 3.5

Класс CookieComponent

Компонент Cookie.

Обеспечивает расширенные возможности обработки файлов cookie для использования в контроллере. В дополнение к базовым функциям, предлагаемым Cake\Http\Response, этот класс позволяет:

  • Создавать и читать зашифрованные файлы cookie.
  • Хранить данные, не являющиеся скалярами.
  • Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
Cake\Controller\Component реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Extended by Cake\Controller\Component\CookieComponent использует Cake\Utility\CookieCryptTrait
Пространство имён: Cake\Controller\Component
Ссылка: 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

Краткое описание свойств

  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_keyConfig protected
    array
    Конфигурация, специфичная для данного ключа верхнего уровня.
  • $_loaded protected
    array
    Карта загруженных ключей.
  • $_response protected
    Cake\Http\Response|null

    Ссылка на объект Cake\Http\Response контроллера. В настоящее время не используется.

  • $_values protected
    array
    Значения, хранящиеся в файле cookie.

Унаследованные свойства

  • _componentMap, _registry, components, request, response _config, _configInitialized _validCiphers

Краткое описание методов

  • _delete() protected
    Устанавливает время истечения срока действия файла cookie для удаления значения cookie.
  • _getCookieEncryptionKey() protected
    Возвращает ключ шифрования, который будет использоваться.
  • _load() protected
    Загрузка данных файлов cookie из объектов запроса и ответа.
  • _write() protected
    Установка cookie
  • check() public
    Возвращает true, если заданный ключ установлен в cookie.
  • configKey() public
    Установить конфигурацию для конкретного ключа верхнего уровня.
  • delete() public
    Удалить значение cookie
  • implementedEvents() public
    Поддерживаемые события этого компонента.
  • initialize() public
    Инициализация конфигурационных данных и свойств.
  • read() public
    Чтение значения пути ключа из файлов cookie запроса.
  • write() public
    Записать значение в файлы cookie ответа.

Подробное описание методов

_delete()source protected

_delete( string $name )

Устанавливает время истечения срока действия файла cookie для удаления значения cookie.

Это выполняется только один раз после удаления всех значений в ключе cookie с помощью delete.

Параметры

строка $name
Имя cookie

_getCookieEncryptionKey()source protected

_getCookieEncryptionKey( )

Возвращает ключ шифрования, который будет использоваться.

Возвращает

строка

_load()source protected

_load( string|array $key )

Загрузка данных файлов cookie из объектов запроса и ответа.

На основе конфигурационных данных файлы cookie будут расшифрованы. Когда файлы cookie содержат массив данных, эти данные будут расширены.

Параметры

строка|массив $key
Ключ для загрузки.

_write()source protected

_write( string $name , string $value )

Установка cookie

Параметры

строка $name
Имя cookie
строка $value
Значение cookie

check()source public

check( string|null $key null )

Возвращает true, если заданный ключ установлен в cookie.

Параметры

строка|null $key необязательно null
Ключ для проверки

Возвращает

boolean
True, если ключ существует

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 является массивом.

Возвращает

массив|null

delete()source public

delete( string $key )

Удалить значение cookie

Вы должны использовать этот метод перед отправкой любого вывода в браузер. В противном случае это приведет к ошибкам "заголовок уже отправлен".

Удаление ключа верхнего уровня приведет к удалению всех вложенных ключей. Например, удаление ключа 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

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
Компонента 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() Сохраняет обратную совместимость при чтении со строкой 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
При попытке установить неверный ключ.
END_OF_DOCUMENT_MARKER

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–2018 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.5/class-Cake.Controller.Component.CookieComponent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API