Компонент сессий Cake
Опции хранения сессий Cake
Cake может сохранять данные сессии тремя способами: как временные файлы в директории Cake, используя механизм PHP по умолчанию, или сохранять в последовательности в базе данных. По умолчанию Cake использует настройки PHP. Заменить эту опцию, чтобы воспользоваться временными файлами или базой данных, можно откоредактировав конфигурационный файл /app/config/core.php. Измените константу CAKE_SESSION_SAVE на 'cake', 'php' или 'database', в зависимости от того, что вам нужно.
core.php настройка сессии<?
/** * CakePHP включает в себя 3 типа сохранений сессий
* в базе данных или в файлах. Настройте это так как предпочитаете.
* Если вы хотите использовать свое место для хранения, укажите это в
* app/config/name.php НЕ ИСПОЛЬЗУЙТЕ имя файла или базы данных как имя.
*
* Устанавливая значение cake, вы получите сохранение файлов сессии в директорию /cakedistro/tmp
* Устанавливая значение php, вы получите сохранение файлов сессии в директорию php по умолчанию
* Устанавливая значение database, вы получите сохранение данных сессии в базу данных
*
*
*/
define('CAKE_SESSION_SAVE', 'php');?>
Если вы хотите использовать сохранение данных сессии в базу данных, вам понадобиться создать таблицу в вашей базе. Схема этой таблицы находится в /app/config/sql/sessions.sql.
Использование компонента сессий Cake
Компонент сессий используется для взаимодействия с информацией о сессии. Он включает в себя базовые чтение и запись, но также содержит некоторые возможности для использования сессий, вроде сообщений об ошибках и сообщениях о процесах (например, «Ваши данные успешно сохранены»). Компонент сессий по умолчанию доступен во всех контроллерах Cake.
Вот некоторые функции, которые вы будете использовать чаще всего:
check
Проверяет установлен ли в сессии текущий ключ определенный $name.
del
delete
Удаляет переменную сессии определенную $name.
error
Возвращает последнюю ошибку созданную компонентом сессий. Чаще используется для отладки.
flash
Возвращает последнее сообщение в сессии, установленное setFlash(). Если $key был установлен, самое последнее, сохраненное под этим ключом, сообщение.
read
Возвращает переменную сессии определенную $name.
renew
Обновляет активную сессию, создавая новый ID сессии, старый стирается, данные старой сессии помещаются в новую.
setFlash
- string $flashMessage
- string $layout = 'default'
- array $params
- string $key = 'flash'
Пишет сообщение определенное $flashMessage в сессию (чтобы потом можно было извлечь его с помощью flash()).
Если $layout имеет значение 'default', сообщение храниться как '<div class="message">'.$flashMessage.'</div>'. Если $default имеет значение '' сообщение храниться просто как пропущенное. Если установлено любое другое значение, сообщение хранится внутри отображения Cake определенного $layout.
Параметры вписанные в эту функцию для будующего использования.
Переменная $key позволяет вам хранить сообщения flash под ключами. См. flash() для получения сообщения flash сохраненного без ключа.
valid
Возвращает true если сессия действительна. Лучше всего использвать перед операциями чтения read() чтобы убедиться, что данные сессии, к которым вы пытаетесь получить доступ на самом деле действительны.
write
- string $name
- mixed $value
Записывает переменную определенную $name и $value в активную сессию.