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

Поиск:

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


Шустрый
*


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

Репутация: -1
Всего: -3



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

Код

class Controller
{
    /**
     * этапы работы контроллера:
     * 1. before()
     * 2. action()
     * 3. after()
    */
    protected $session;
    
    protected before()
    {
        $this->session = Session::instance();
    }
    
    protected action()
    {
        // при этом данные автоматом кодируются и заносятся в сессию
        $this->session['test'][1] = '123';
    }
    
    protected after()
    {
        // можно было бы результат тут сохранять,
        // но если в action редирект или ошибка,
        // то до этого места мы не дойдем
    }
}

PM MAIL ICQ   Вверх
ShamanVoodoo
Дата 23.6.2013, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: -1
Всего: -3



допилил вариант Fortop'a ,  осталась одна проблема: когда задаем $c[1][2][3] = 3; в set offset = 3, соответсвенно невозможно понять какое именно значение было перезаписано, никак не придумаю как получить текущее положение [1][2][3] чтобы не переписывать все значения сессии, а только конкретный элемент [1][2][3] . Можно просто идею, остальное сам доведу до ума.

Это сообщение отредактировал(а) ShamanVoodoo - 24.6.2013, 17:15
PM MAIL ICQ   Вверх
Fortop
Дата 24.6.2013, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ужас. Вопрос не вопрос и понять его....


Цитата(ShamanVoodoo @  23.6.2013,  16:28 Найти цитируемый пост)
осталась одна проблема: когда задаем $c[1][2][3] = 3; в set offset = 3, соответсвенно невозможно понять какое именно значение было перезаписано

Какое значение?
Кем было перезаписано?

Цитата(ShamanVoodoo @  23.6.2013,  16:28 Найти цитируемый пост)
 как получить текущее положение [1][2][3]

Храните в объекте ссылку/адрес родителя. Она же будет вашим текущим положением.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
ShamanVoodoo
Дата 24.6.2013, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: -1
Всего: -3



Fortop, по русски это хрен объяснишь... да, что-то вроде идентификаторов делать по видимому придется или флаги изменения состояния на крайний случай и потом делать поиск по массиву на предмет поднятых флагов   smile 

PM MAIL ICQ   Вверх
krundetz
Дата 27.6.2013, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(ShamanVoodoo @  24.6.2013,  23:44 Найти цитируемый пост)
Fortop, по русски это хрен объяснишь... 

 smile ну объясняйте по английски(или на языке которым вы лучше всего владеете) если вам так проще


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

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


 




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


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

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