Spec-Zone.ru › CakePHP 3.2

Класс CookieComponent

Компонент Cookie.

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

  • Создавать и читать зашифрованные куки.
  • Хранить данные, не являющиеся скалярными.
  • Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Extended by Cake\Controller\Component\CookieComponent uses Cake\Utility\CookieCryptTrait
Пространство имён: Cake\Controller\Component
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components/cookie.html
Расположение: Controller/Component/CookieComponent.php

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

  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_keyConfig protected
    array
    Конфигурация, специфичная для данного ключа верхнего уровня.
  • $_loaded protected
    array
    Карта загруженных ключей.
  • $_response protected
    Cake\Network\Response
    Ссылка на объект Cake\Network\Response контроллера
  • $_values protected
    string
    Значения, хранящиеся в куки.

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

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

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

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

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

_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
Ключ для проверки

Возвращает

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 )

Удалить значение куки

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

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

Прочитать значение ключа пути из куки запроса.

Этот метод также позволит вам читать куки, которые были записаны в этом запросе, но еще не отправлены клиенту.

Параметры

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

Возвращает

строка
или null, значение для указанного ключа
END_OF_DOCUMENT_MARKER ```

write()source public

write( string|array $key , mixed $value null )

Записать значение в куки ответа.

Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае произойдёт ошибка «заголовок уже отправлен».

Параметры

строка|массив $key
Ключ для значения
смешанный $value необязательно null
Значение

Методы, унаследованные от Cake\Controller\Component

__construct()source public

__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry
Объект ComponentRegistry, который этот компонент может использовать для ленивой загрузки своих компонентов
массив $config необязательно []
Массив параметров конфигурации.

__debugInfo()source public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

массив

__get()source public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

смешанный
Объект Component или null.

Методы, используемые из Cake\Utility\CookieCryptTrait

_checkCipher()source protected

_checkCipher( string $encrypt )

Вспомогательный метод для проверки имен шифров шифрования.

Параметры

строка $encrypt
Имя шифра.

Вызывает исключение

RuntimeException
При предоставлении недопустимого шифра.

_decode()source protected

_decode( string $value , string|false $encrypt , string|null $key )

Декодирует и расшифровывает одно значение.

Параметры

строка $value
Значение для декодирования и расшифровки.
строка|ложь $encrypt
Используемый шифр шифрования.
строка|null $key
Используется в качестве секретной соли, если указано.

Возвращает

строка
Декодированное значение.

_decrypt()source protected

_decrypt( array $values , string|boolean $mode , string|null $key null )

Расшифровывает $value, используя метод public $type класса Security.

Параметры

массив $values
Значения для расшифровки
строка|булево $mode
Режим шифрования
строка|null $key необязательно null
Используется в качестве секретной соли, если указано.

Возвращает

строка
расшифрованная строка

_encrypt()source protected

_encrypt( string $value , string|boolean $encrypt , string|null $key null )

Шифрует $value, используя метод public $type класса Security.

Параметры

строка $value
Значение для шифрования
строка|булево $encrypt

Используемый режим шифрования. False отключает шифрование.

строка|null $key необязательно null
Используется в качестве секретной соли, если указано.

Возвращает

строка
Кодированные значения

_explode()source protected

_explode( string $string )

Метод explode для возврата массива из строки, установленной в CookieComponent::_implode(). Поддерживает обратную совместимость с чтением 1.x CookieComponent::_implode().

Параметры

строка $string
Строка, содержащая закодированные в JSON данные или обычная строка.

Возвращает

массив
Карта ключей и значений

_implode()source protected

_implode( array $array )

Метод implode для сохранения ключей в многомерных массивах

Параметры

массив $array
Карта ключей и значений

Возвращает

строка
Строка, закодированная в JSON.

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удалить один ключ конфигурации

Параметры

строка $key
Ключ для удаления.

Вызывает исключение

Cake\Core\Exception\Exception
при попытке перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Прочитать переменную конфигурации

Параметры

строка|null $key
Ключ для чтения.

Возвращает

смешанный

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge false )

Записать переменную конфигурации

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
булево|строка $merge необязательно false

True для рекурсивного слияния, «поверхностный» для простого слияния, 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']);

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
булево $merge необязательно true
Необходимо ли рекурсивно сливать или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает

смешанный
Читаемое значение конфигурации или сам объект при операциях записи.

Вызывает исключение

Cake\Core\Exception\Exception
При попытке установить недопустимый ключ.

configShallow()source 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
Значение для установки.

Возвращает


$this Сам объект.

Методы, используемые из 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\Network\Response

Ссылка на объект Cake\Network\Response контроллера

null

$_valuessource

protected string

Значения, хранящиеся в файле cookie.

Доступ к ним в контроллере с помощью $this->Cookie->read('Name.key');

[]

© 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.2/class-Cake.Controller.Component.CookieComponent.html

Spec-Zone.ru

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