Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обертка для сесий, помогите 
:(
    Опции темы
fesor
Дата 26.7.2009, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



Собствено потребовалась обертка для сессий

сейчас он такой:
Код

class Session
{
    
    function __construct()
    {
        session_start();
    }
    
    function __get($n)
    {

        if(isset($_SESSION[$n]))
            return $_SESSION[$n];    
    }
    
    function __set($n, $v)
    {
        $_SESSION[$n] = $v;
    }
    
    function clear()
    {
        session_destroy();
    }
    
}


Как вариант:
Код

class session
{
    
    function __construct()
    {
        session_start();
        
        foreach($_SESSION as $key=>$value)
            $this->$key = $value;
    }
    
    function clear()
    {

        session_destroy();
        //надо как-то поудалять все
    }

    function __destruct()
    {
        //а как тут построить массив заново не знаю.
    }
        
    
    
}


Это сообщение отредактировал(а) fesor - 26.7.2009, 23:50
PM MAIL WWW   Вверх
krundetz
Дата 27.7.2009, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(fesor @  26.7.2009,  23:46 Найти цитируемый пост)
//а как тут построить массив заново не знаю.

так массив сессии у тебя никуда не пропадает, вот и используй его, перебор и если данные в нем не соответствуют новым их изменение.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ипатьев
Дата 27.7.2009, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(fesor @  26.7.2009,  23:46 Найти цитируемый пост)
        foreach($_SESSION as $key=>$value)
            $this->$key = $value;

Это не очень хорошая идея. Плохая, я бы сказал.

krundetz, возможно, у него как раз проблема с попыткой эмуляции register_globals. Зачем - ума не приложу. 
А вообще конечно, така манера задавать вопросы - дву куска кода без единого слова пояснения - за гранью добра и зла. 
PM MAIL   Вверх
fesor
Дата 27.7.2009, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



Странно, думал текст пояснения был... видимо заработался.
Мне нужен ОО доступ к массиву. Допустим 
Код

$session->somevar = 66

про второй способ я знаю что это плохо. Поэтому и спрашиваю
PM MAIL WWW   Вверх
krundetz
Дата 28.7.2009, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(fesor @  27.7.2009,  09:52 Найти цитируемый пост)
Мне нужен ОО доступ к массиву.

ну так твой первый способ наиболее правильный, я бы только ещё вставил в волшебные(не люблю этот термин но во всей литературе почему то так) методы __get() и __set() проверку на соответствие передаваемых в них данных условию.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
fesor
Дата 28.7.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



Проблема в том, что работа с массивами с этим способом ненмого затруднена. Тоесть у меня иногда неполучается добавлять данные.
PM MAIL WWW   Вверх
Ипатьев
Дата 28.7.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Может быть, стоит заняться отладкой?
PM MAIL   Вверх
fesor
Дата 28.7.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



пожалуй))
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.