Spec-Zone.ru › Yii 1.1

CHttpSession

Пакет system.web
Наследование класс CHttpSession » CApplicationComponent » CComponent
Реализует IApplicationComponent, IteratorAggregate, Traversable, ArrayAccess, Countable
Подклассы CCacheHttpSession, CDbHttpSession
С момента 1.0
Исходный код framework/web/CHttpSession.php
CHttpSession предоставляет управление данными на уровне сессии и соответствующие настройки.

Для запуска сессии вызовите open(); для завершения и отправки данных сессии вызовите close(); для уничтожения сессии вызовите destroy().

Если autoStart установлен в true, сессия будет запущена автоматически при инициализации компонента приложения.

CHttpSession может использоваться как массив для установки и получения данных сессии. Например,
  $session=new CHttpSession;
  $session->open();
  $value1=$session['name1'];  // get session variable 'name1'
  $value2=$session['name2'];  // get session variable 'name2'
  foreach($session as $name=>$value) // traverse all session variables
  $session['name3']=$value3;  // set session variable 'name3'


Доступны следующие настройки для сессии:
  • sessionID;
  • sessionName;
  • autoStart;
  • savePath;
  • cookieParams;
  • gcProbability;
  • cookieMode;
  • useTransparentSessionID;
  • timeout.
Дополнительную информацию см. в документации по соответствующим методам установки и получения. Обратите внимание, что эти свойства должны быть установлены до запуска сессии.

CHttpSession можно расширить для поддержки настраиваемого хранения сессии. Переопределите openSession, closeSession, readSession, writeSession, destroySession и gcSession и установите useCustomStorage в true. Затем данные сессии будут храниться и извлекаться с помощью этих методов.

CHttpSession — это компонент веб-приложения, к которому можно получить доступ через CWebApplication::getSession().

Общедоступные свойства

Свойство Тип Описание Определено
autoStart boolean указывает, должна ли сессия запускаться автоматически при инициализации компонента сессии, по умолчанию true. CHttpSession
behaviors array поведения, которые должны быть присоединены к этому компоненту. CApplicationComponent
cookieMode string способ использования cookie для хранения идентификатора сессии. CHttpSession
cookieParams array параметры cookie сессии. CHttpSession
count integer Возвращает количество элементов в сессии. CHttpSession
gCProbability float вероятность (процент), что процесс gc (сбор мусора) запускается при каждой инициализации сессии, по умолчанию 1, что означает 1% вероятность. CHttpSession
isInitialized boolean Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
isStarted boolean указывает, началась ли сессия CHttpSession
iterator CHttpSessionIterator Возвращает итератор для обхода переменных сессии. CHttpSession
keys array список имен переменных сессии CHttpSession
savePath string текущий путь сохранения сессии, по умолчанию {@link http://php. CHttpSession
sessionID string текущий идентификатор сессии CHttpSession
sessionName string текущее имя сессии CHttpSession
timeout integer количество секунд, после которого данные будут считаться "мусором" и удалены, по умолчанию 1440 секунд. CHttpSession
useCustomStorage boolean Возвращает значение, указывающее, использовать ли пользовательское хранилище сессии. CHttpSession
useTransparentSessionID boolean указывает, включена ли поддержка прозрачного sid, по умолчанию false. CHttpSession

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
add() Добавляет переменную сеанса. CHttpSession
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, может ли свойство быть прочитано. CComponent
canSetProperty() Определяет, может ли свойство быть установлено. CComponent
clear() Удаляет все переменные сеанса. CHttpSession
close() Завершает текущий сеанс и сохраняет данные сеанса. CHttpSession
closeSession() Обработчик закрытия сеанса. CHttpSession
contains() CHttpSession
count() Возвращает количество элементов в сеансе. CHttpSession
destroy() Освобождает все переменные сеанса и уничтожает все данные, зарегистрированные в сеансе. CHttpSession
destroySession() Обработчик уничтожения сеанса. CHttpSession
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает прикрепленное поведение. CComponent
disableBehaviors() Отключает все прикрепленные к этому компоненту поведения. CComponent
enableBehavior() Включает прикрепленное поведение. CComponent
enableBehaviors() Включает все прикрепленные к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
gcSession() Обработчик GC (уборки мусора) сеанса. CHttpSession
get() Возвращает значение переменной сеанса по имени переменной сеанса. CHttpSession
getCookieMode() Возвращает способ использования cookie для хранения идентификатора сеанса. По умолчанию 'Allow'. CHttpSession
getCookieParams() Возвращает параметры cookie сеанса. CHttpSession
getCount() Возвращает количество элементов в сеансе. CHttpSession
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
getGCProbability() Возвращает вероятность (процент) запуска процесса gc (уборки мусора) при каждом инициализации сеанса, по умолчанию 1, что означает 1% вероятность. CHttpSession
getIsInitialized() Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
getIsStarted() Проверяет, был ли начат сеанс. CHttpSession
getIterator() Возвращает итератор для перебора переменных сеанса. CHttpSession
getKeys() Возвращает список имён переменных сеанса. CHttpSession
getSavePath() Возвращает текущий путь сохранения сеанса, по умолчанию http://php.net/session.save_path. CHttpSession
getSessionID() Возвращает текущий идентификатор сеанса. CHttpSession
getSessionName() Возвращает текущее имя сеанса. CHttpSession
getTimeout() Возвращает количество секунд, по истечении которых данные будут считаться 'мусором' и удалены, по умолчанию 1440 секунд. CHttpSession
getUseCustomStorage() Возвращает значение, указывающее, использовать ли пользовательское хранилище сеанса. CHttpSession
getUseTransparentSessionID() Возвращает, включена ли поддержка прозрачного идентификатора SID или нет, по умолчанию false. CHttpSession
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики к событию с указанным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует компонент приложения. CHttpSession
itemAt() Возвращает значение переменной сеанса по имени переменной сеанса. CHttpSession
offsetExists() Этот метод необходим для интерфейса ArrayAccess. CHttpSession
offsetGet() Этот метод необходим для интерфейса ArrayAccess. CHttpSession
offsetSet() Этот метод необходим для интерфейса ArrayAccess. CHttpSession
offsetUnset() Этот метод необходим для интерфейса ArrayAccess. CHttpSession
open() Запускает сеанс, если он ещё не запущен. CHttpSession
openSession() Обработчик открытия сеанса. CHttpSession
raiseEvent() Вызывает событие. CComponent
readSession() Обработчик чтения сеанса. CHttpSession
regenerateID() Обновляет текущий идентификатор сеанса новым сгенерированным. CHttpSession
remove() Удаляет переменную сеанса. CHttpSession
setCookieMode() Устанавливает способ использования cookie для хранения идентификатора сеанса. Допустимые значения: 'none', 'allow' и 'only'. CHttpSession
setCookieParams() Устанавливает параметры cookie сессии. CHttpSession
setGCProbability() Устанавливает вероятность (в процентах) запуска процесса gc (уборки мусора) при каждом инициализации сессии. CHttpSession
setSavePath() Устанавливает текущий путь сохранения сессии. CHttpSession
setSessionID() Устанавливает идентификатор сессии для текущей сессии. CHttpSession
setSessionName() Устанавливает имя сессии для текущей сессии. Должно быть строкой из алфавитно-цифровых символов. По умолчанию PHPSESSID. CHttpSession
setTimeout() Устанавливает количество секунд, по истечении которых данные будут считаться «мусором» и удалены. CHttpSession
setUseTransparentSessionID() Устанавливает, включена ли поддержка прозрачного sid или нет. CHttpSession
toArray() CHttpSession
writeSession() Обработчик записи сессии. CHttpSession

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

autoStart свойство

public boolean $autoStart;

Указывает, должна ли сессия автоматически запускаться при инициализации компонента приложения сессии. По умолчанию true.

cookieMode свойство

public string getCookieMode()
public void setCookieMode(string $value)

Способ использования cookie для хранения ID сессии. По умолчанию «Allow».

cookieParams свойство

public array getCookieParams()
public void setCookieParams(array $value)

Параметры cookie сессии.

См. также

  • http://us2.php.net/manual/en/function.session-get-cookie-params.php

count свойство только для чтения

public integer getCount()

Возвращает количество элементов в сессии.

gCProbability свойство

public float getGCProbability()
public void setGCProbability(float $value)

Вероятность (в процентах) запуска процесса gc (уборки мусора) при каждой инициализации сессии. По умолчанию 1 (1% вероятность).

isStarted свойство только для чтения

public boolean getIsStarted()

Указывает, была ли начата сессия.

iterator свойство только для чтения

public CHttpSessionIterator getIterator()

Возвращает итератор для перебора переменных сессии. Этот метод требуется интерфейсом IteratorAggregate.

keys свойство только для чтения

public array getKeys()

Список имён переменных сессии.

savePath свойство

public string getSavePath()
public void setSavePath(string $value)

Текущий путь сохранения сессии. По умолчанию http://php.net/session.save_path.

sessionID свойство

public string getSessionID()
public void setSessionID(string $value)

Текущий идентификатор сессии.

sessionName свойство

public string getSessionName()
public void setSessionName(string $value)

Текущее имя сессии.

timeout свойство

public integer getTimeout()
public void setTimeout(integer $value)

Количество секунд, по истечении которых данные будут считаться «мусором» и удалены. По умолчанию 1440 секунд.

useCustomStorage свойство только для чтения

public boolean getUseCustomStorage()

Возвращает значение, указывающее, использовать ли пользовательское хранилище сессий. Этот метод следует переопределить, чтобы вернуть true, если необходимо использовать пользовательский обработчик хранения сессий. Если возвращается true, убедитесь, что методы openSession, closeSession, readSession, writeSession, destroySession и gcSession переопределены в дочернем классе, так как они будут использоваться в качестве обработчиков обратного вызова. По умолчанию возвращает false.

useTransparentSessionID свойство

public boolean getUseTransparentSessionID()
public void setUseTransparentSessionID(boolean $value)

Указывает, включена ли поддержка прозрачного sid. По умолчанию false.

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

add() метод

public void add(mixed $key, mixed $value)
$key mixed Имя переменной сессии
$value mixed Значение переменной сессии
Исходный код: framework/web/CHttpSession.php#490 (показать)
public function add($key,$value)
{
    
$_SESSION[$key]=$value;
}

Добавляет переменную сессии. Если имя уже существует, старое значение будет удалено.

clear() метод

public void clear()
Исходный код: framework/web/CHttpSession.php#515 (показать)
public function clear()
{
    foreach(
array_keys($_SESSION) as $key)
        unset(
$_SESSION[$key]);
}

Удаляет все переменные сессии.

close() метод

public void close()
Исходный код: framework/web/CHttpSession.php#131 (показать)
public function close()
{
    if(
session_id()!=='')
        @
session_write_close();
}

Завершает текущую сессию и сохраняет данные сессии.

closeSession() метод

public boolean closeSession()
{return} boolean Успешно ли закрыта сессия
Исходный код: framework/web/CHttpSession.php#366 (показать)
public function closeSession()
{
    return 
true;
}

Обработчик закрытия сессии. Этот метод следует переопределить, если useCustomStorage установлен в true. Не вызывать этот метод напрямую.

contains() метод

public boolean contains(mixed $key)
$key mixed Имя переменной сессии
{return} boolean Существует ли переменная сессии с указанным именем
Исходный код: framework/web/CHttpSession.php#525 (показать)
public function contains($key)
{
    return isset(
$_SESSION[$key]);
}

count() метод

public integer count()
{return} integer Количество элементов в сессии.
Исходный код: framework/web/CHttpSession.php#446 (показать)
public function count()
{
    return 
$this->getCount();
}

Возвращает количество элементов в сессии. Этот метод необходим для интерфейса Countable.

destroy() метод

public void destroy()
Исходный код: framework/web/CHttpSession.php#140 (показать)
public function destroy()
{
    if(
session_id()!=='')
    {
        @
session_unset();
        @
session_destroy();
    }
}

Освобождает все переменные сессии и уничтожает все данные, зарегистрированные в сессии.

destroySession() метод

public boolean destroySession(string $id)
$id string Идентификатор сессии
{return} boolean Успешно ли уничтожена сессия
Исходный код: framework/web/CHttpSession.php#403 (показать)
public function destroySession($id)
{
    return 
true;
}

Обработчик уничтожения сессии. Этот метод следует переопределить, если useCustomStorage установлен в true. Не вызывать этот метод напрямую.

gcSession() метод

public boolean gcSession(integer $maxLifetime)
$maxLifetime integer количество секунд, после которого данные будут считаться «мусором» и удалены.
{return} boolean успешно ли выполнена операция GC сессии
Исходный код: framework/web/CHttpSession.php#415 (показать)
public function gcSession($maxLifetime)
{
    return 
true;
}

Обработчик GC (garbage collection) сессии. Этот метод должен быть переопределён, если useCustomStorage установлен в true. Не вызывать этот метод напрямую.

get() метод (доступен с версии v1.1.2)

public mixed get(mixed $key, mixed $defaultValue=NULL)
$key mixed имя переменной сессии
$defaultValue mixed значение по умолчанию, возвращаемое, если переменная сессии не существует.
{return} mixed значение переменной сессии или $defaultValue, если переменная сессии не существует.
Исходный код: framework/web/CHttpSession.php#468 (показать)
public function get($key,$defaultValue=null)
{
    return isset(
$_SESSION[$key]) ? $_SESSION[$key] : $defaultValue;
}

Возвращает значение переменной сессии по имени переменной сессии. Этот метод очень похож на itemAt и offsetGet, за исключением того, что он вернёт $defaultValue, если переменная сессии не существует.

getCookieMode() метод

public string getCookieMode()
{return} string способ использования куки для хранения ID сессии. По умолчанию «Allow».
Исходный код: framework/web/CHttpSession.php#255 (показать)
public function getCookieMode()
{
    if(
ini_get('session.use_cookies')==='0')
        return 
'none';
    elseif(
ini_get('session.use_only_cookies')==='0')
        return 
'allow';
    else
        return 
'only';
}

getCookieParams() метод

public array getCookieParams()
{return} array параметры cookie сессии.
Исходный код: framework/web/CHttpSession.php#228 (показать)
public function getCookieParams()
{
    return 
session_get_cookie_params();
}

См. также

  • http://us2.php.net/manual/en/function.session-get-cookie-params.php

getCount() метод

public integer getCount()
{return} integer количество переменных сессии
Исходный код: framework/web/CHttpSession.php#436 (показать)
public function getCount()
{
    return 
count($_SESSION);
}

Возвращает количество элементов в сессии.

getGCProbability() метод

public float getGCProbability()
{return} float вероятность (в процентах), что процесс gc (garbage collection) запущен при каждом инициализации сессии, по умолчанию 1 (1% шанс).
Исходный код: framework/web/CHttpSession.php#293 (показать)
public function getGCProbability()
{
    return (float)(
ini_get('session.gc_probability')/ini_get('session.gc_divisor')*100);
}

getIsStarted() метод

public boolean getIsStarted()
{return} boolean запущена ли сессия
Исходный код: framework/web/CHttpSession.php#152 (показать)
public function getIsStarted()
{
    if(
function_exists('session_status'))
        return 
session_status()===PHP_SESSION_ACTIVE;
    return 
session_id()!=='';
}

getIterator() метод

public CHttpSessionIterator getIterator()
{return} CHttpSessionIterator итератор для обхода переменных сессии.
Исходный код: framework/web/CHttpSession.php#427 (показать)
public function getIterator()
{
    return new 
CHttpSessionIterator;
}

Возвращает итератор для обхода переменных сессии. Этот метод необходим для интерфейса IteratorAggregate.

getKeys() метод

public array getKeys()
{return} array список имён переменных сессии
Исходный код: framework/web/CHttpSession.php#454 (показать)
public function getKeys()
{
    return 
array_keys($_SESSION);
}

getSavePath() метод

public string getSavePath()
{return} string текущий путь сохранения сессии, по умолчанию http://php.net/session.save_path.
Исходный код: framework/web/CHttpSession.php#206 (показать)
public function getSavePath()
{
    return 
session_save_path();
}

getSessionID() метод

public string getSessionID()
{return} string текущий ID сессии
Исходный код: framework/web/CHttpSession.php#162 (показать)
public function getSessionID()
{
    return 
session_id();
}

getSessionName() метод

public string getSessionName()
{return} string текущее имя сессии
Исходный код: framework/web/CHttpSession.php#190 (показать)
public function getSessionName()
{
    return 
session_name();
}

getTimeout() метод

public integer getTimeout()
{return} integer количество секунд, после которого данные будут считаться «мусором» и удалены, по умолчанию 1440 секунд.
Исходный код: framework/web/CHttpSession.php#334 (показать)
public function getTimeout()
{
    return (int)
ini_get('session.gc_maxlifetime');
}

getUseCustomStorage() метод

public boolean getUseCustomStorage()
{return} boolean использовать ли пользовательское хранилище.
Исходный код: framework/web/CHttpSession.php#101 (показать)
public function getUseCustomStorage()
{
    return 
false;
}

Возвращает значение, указывающее, следует ли использовать пользовательское хранилище сессий. Этот метод должен быть переопределён, чтобы вернуть true, если необходимо использовать пользовательский обработчик хранилища сессий. Если возвращено true, убедитесь, что методы openSession, closeSession, readSession, writeSession, destroySession и gcSession переопределены в дочернем классе, так как они будут использоваться как обработчики обратного вызова. По умолчанию всегда возвращает false.

getUseTransparentSessionID() метод

public boolean getUseTransparentSessionID()
{return} boolean включена ли поддержка прозрачных sid, по умолчанию false.
Исходный код: framework/web/CHttpSession.php#318 (показать)
public function getUseTransparentSessionID()
{
    return 
ini_get('session.use_trans_sid')==1;
}

init() метод

public void init()
Исходный код: framework/web/CHttpSession.php#83 (показать)
public function init()
{
    
parent::init();

    if(
$this->autoStart)
        
$this->open();
    
register_shutdown_function(array($this,'close'));
}

Инициализирует компонент приложения. Этот метод необходим для IApplicationComponent и вызывается приложением.

itemAt() метод

public mixed itemAt(mixed $key)
$key смешанный тип имя переменной сессии
{возвращает} смешанный тип значение переменной сессии, null, если такой переменной не существует
Исходный код: framework/web/CHttpSession.php#479 (показать)
public function itemAt($key)
{
    return isset(
$_SESSION[$key]) ? $_SESSION[$key] : null;
}

Возвращает значение переменной сессии по имени переменной сессии. Этот метод идентичен методу offsetGet.

offsetExists() метод

public boolean offsetExists(mixed $offset)
$offset смешанный тип смещение для проверки
{возвращает} булево
Исходный код: framework/web/CHttpSession.php#543 (показать)
public function offsetExists($offset)
{
    return isset(
$_SESSION[$offset]);
}

Этот метод необходим для интерфейса ArrayAccess.

offsetGet() метод

public mixed offsetGet(integer $offset)
$offset целое число смещение для получения элемента.
{возвращает} смешанный тип элемент по смещению, null, если элемент по смещению не найден
Исходный код: framework/web/CHttpSession.php#553 (показать)
public function offsetGet($offset)
{
    return isset(
$_SESSION[$offset]) ? $_SESSION[$offset] : null;
}

Этот метод необходим для интерфейса ArrayAccess.

offsetSet() метод

public void offsetSet(integer $offset, mixed $item)
$offset целое число смещение для установки элемента
$item смешанный тип значение элемента
Исходный код: framework/web/CHttpSession.php#563 (показать)
public function offsetSet($offset,$item)
{
    
$_SESSION[$offset]=$item;
}

Этот метод необходим для интерфейса ArrayAccess.

offsetUnset() метод

public void offsetUnset(mixed $offset)
$offset смешанный тип смещение для удаления элемента
Исходный код: framework/web/CHttpSession.php#572 (показать)
public function offsetUnset($offset)
{
    unset(
$_SESSION[$offset]);
}

Этот метод необходим для интерфейса ArrayAccess.

open() метод

public void open()
Исходный код: framework/web/CHttpSession.php#109 (показать)
public function open()
{
    if(
$this->getUseCustomStorage())
        @
session_set_save_handler(array($this,'openSession'),array($this,'closeSession'),array($this,'readSession'),array($this,'writeSession'),array($this,'destroySession'),array($this,'gcSession'));

    @
session_start();
    if(
YII_DEBUG && session_id()=='')
    {
        
$message=Yii::t('yii','Failed to start session.');
        if(
function_exists('error_get_last'))
        {
            
$error=error_get_last();
            if(isset(
$error['message']))
                
$message=$error['message'];
        }
        
Yii::log($message, CLogger::LEVEL_WARNING, 'system.web.CHttpSession');
    }
}

Начинает сеанс, если он еще не начат.

openSession() метод

public boolean openSession(string $savePath, string $sessionName)
$savePath строка путь сохранения сессии
$sessionName строка имя сессии
{возвращает} булево успешно ли открыта сессия
Исходный код: framework/web/CHttpSession.php#355 (показать)
public function openSession($savePath,$sessionName)
{
    return 
true;
}

Обработчик открытия сессии. Этот метод следует переопределять, если useCustomStorage установлен в true. Не вызывайте этот метод напрямую.

readSession() метод

public string readSession(string $id)
$id строка Идентификатор сессии
{возвращает} строка данные сессии
Исходный код: framework/web/CHttpSession.php#378 (показать)
public function readSession($id)
{
    return 
'';
}

Обработчик чтения сессии. Этот метод следует переопределять, если useCustomStorage установлен в true. Не вызывайте этот метод напрямую.

regenerateID() метод (доступен с версии 1.1.8)

public void regenerateID(boolean $deleteOldSession=false)
$deleteOldSession булево Удалять ли старый файл сессии.
Исходный код: framework/web/CHttpSession.php#181 (показать)
public function regenerateID($deleteOldSession=false)
{
    if(
$this->getIsStarted())
        
session_regenerate_id($deleteOldSession);
}

Обновляет текущий идентификатор сессии на новый сгенерированный. Подробнее см. http://php.net/session_regenerate_id.

remove() метод

public mixed remove(mixed $key)
$key смешанный тип имя переменной сессии для удаления
{возвращает} смешанный тип удаленное значение, null, если такой переменной сессии не существует.
Исходный код: framework/web/CHttpSession.php#500 (показать)
public function remove($key)
{
    if(isset(
$_SESSION[$key]))
    {
        
$value=$_SESSION[$key];
        unset(
$_SESSION[$key]);
        return 
$value;
    }
    else
        return 
null;
}

Удаляет переменную сессии.

setCookieMode() метод

public void setCookieMode(string $value)
$value строка способ использования cookie для хранения идентификатора сессии. Допустимые значения: 'none', 'allow' и 'only'.
Исходный код: framework/web/CHttpSession.php#269 (показать)
public function setCookieMode($value)
{
    if(
$value==='none')
    {
        
ini_set('session.use_cookies','0');
        
ini_set('session.use_only_cookies','0');
    }
    elseif(
$value==='allow')
    {
        
ini_set('session.use_cookies','1');
        
ini_set('session.use_only_cookies','0');
    }
    elseif(
$value==='only')
    {
        
ini_set('session.use_cookies','1');
        
ini_set('session.use_only_cookies','1');
    }
    else
        throw new 
CException(Yii::t('yii','CHttpSession.cookieMode can only be "none", "allow" or "only".'));
}

setCookieParams() метод

public void setCookieParams(array $value)
$value массив параметры cookie, допустимые ключи: lifetime, path, domain, secure, httponly. Обратите внимание, что httponly — в нижнем регистре.
Исходный код: framework/web/CHttpSession.php#241 (показать)
public function setCookieParams($value)
{
    
$data=session_get_cookie_params();
    
extract($data);
    
extract($value);
    if(isset(
$httponly))
        
session_set_cookie_params($lifetime,$path,$domain,$secure,$httponly);
    else
        
session_set_cookie_params($lifetime,$path,$domain,$secure);
}

Устанавливает параметры cookie сессии. Действие этого метода действует только в течение выполнения скрипта. Вызовите этот метод до начала сессии.

См. также

  • http://us2.php.net/manual/en/function.session-set-cookie-params.php

setGCProbability() метод

public void setGCProbability(float $value)
$value вещественное число вероятность (в процентах), что процесс gc (уборка мусора) будет запущен при каждом инициализации сессии.
Исходный код: framework/web/CHttpSession.php#302 (показать)
public function setGCProbability($value)
{
    if(
$value>=0 && $value<=100)
    {
        
// percent * 21474837 / 2147483647 ≈ percent * 0.01
        
ini_set('session.gc_probability',floor($value*21474836.47));
        
ini_set('session.gc_divisor',2147483647);
    }
    else
        throw new 
CException(Yii::t('yii','CHttpSession.gcProbability "{value}" is invalid. It must be a float between 0 and 100.',
            array(
'{value}'=>$value)));
}

setSavePath() метод

public void setSavePath(string $value)
$value строка текущий путь сохранения сессии
Исходный код: framework/web/CHttpSession.php#215 (показать)
public function setSavePath($value)
{
    if(
is_dir($value))
        
session_save_path($value);
    else
        throw new 
CException(Yii::t('yii','CHttpSession.savePath "{path}" is not a valid directory.',
            array(
'{path}'=>$value)));
}

setSessionID() метод

public void setSessionID(string $value)
$value string идентификатор сессии для текущей сессии
Исходный код: framework/web/CHttpSession.php#170 (показать)
public function setSessionID($value)
{
    
session_id($value);
}

setSessionName() метод

public void setSessionName(string $value)
$value string имя сессии для текущей сессии, должно быть строкой из букв и цифр, по умолчанию PHPSESSID
Исходный код: framework/web/CHttpSession.php#198 (показать)
public function setSessionName($value)
{
    
session_name($value);
}

setTimeout() метод

public void setTimeout(integer $value)
$value integer количество секунд, после которых данные будут считаться 'мусором' и очищены
Исходный код: framework/web/CHttpSession.php#342 (показать)
public function setTimeout($value)
{
    
ini_set('session.gc_maxlifetime',$value);
}

setUseTransparentSessionID() метод

public void setUseTransparentSessionID(boolean $value)
$value boolean включена или нет поддержка прозрачного sid.
Исходный код: framework/web/CHttpSession.php#326 (показать)
public function setUseTransparentSessionID($value)
{
    
ini_set('session.use_trans_sid',$value?'1':'0');
}

toArray() метод

public array toArray()
{return} array список всех переменных сессии в массиве
Исходный код: framework/web/CHttpSession.php#533 (показать)
public function toArray()
{
    return 
$_SESSION;
}

writeSession() метод

public boolean writeSession(string $id, string $data)
$id string идентификатор сессии
$data string данные сессии
{return} boolean успешно ли записана сессия
Исходный код: framework/web/CHttpSession.php#391 (показать)
public function writeSession($id,$data)
{
    return 
true;
}

Обработчик записи сессии. Этот метод необходимо переопределить, если useCustomStorage установлен в значение true. Не вызывать этот метод напрямую.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CHttpSession

Spec-Zone.ru

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