![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Вы попросили, люди вам добровольно помогли так как вас поняли, если вы видите, что они поняли вас не так, потрудитесь это до них донести корректно, а не брызгать слюной высказывая упреки. - вам за это. |
|||
|
||||
ShamanVoodoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
Fortop, Arantir спасибо, а Вам awdev отдельное
![]() и вообще есть ли какой-то способ отлавливать вызов методов и изменение атрибутов также как и с ошибочными вариантами? если с методами и observer еще все более менее ясно, то вот как с атрибутами быть не ясно |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
не работать с атрибутами работать с ними только через геттеры/сеттеры. пусть даже и магические __get/__set -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
на прямую из вне класса сделать все отслеживаемые атрибуты private или protected
магические могут быть в некоторых ситуациях даже более удобными, да и количество кода сократиться изменение атрибутов внутри класса отслеживать придется ручками и событие ручками иниицровать. |
|||
|
||||
awdev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 22.11.2009 Репутация: нет Всего: 1 |
А чем мой вариант не подходит для этих задач? вызывается события как для атрибутов так и для методов.
|
|||
|
||||
ShamanVoodoo |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
для первой части он лучше всего подходит, но там еще есть под вопрос:
все эти танцы с бубном для того, чтобы отлавливать ВСЕ переменные\методы, как верные так и нет. т.е.
я никак не могу понять можно ли обойти это как-то непосредственно в коде или решаемо только на уровне своей библиотеки для php |
||||||
|
|||||||
awdev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 22.11.2009 Репутация: нет Всего: 1 |
На SO Предплагают такой вариант http://stackoverflow.com/questions/5891463...getters-setters
некая эмуляция гетерс-сетерс... Добавлено через 1 минуту и 35 секунд http://habrahabr.ru/post/39338/ |
|||
|
||||
ShamanVoodoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
все это дело буксует при попытке работать с переменной как с многомерным массивом, но возможно я слишком многого хочу.
а по поводу использования паттерна наблюдатель, то лучше реализовывать его на базе SPL:
сейчас как раз пример модернизуриую под это |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Чтобы с ней работать как с многомерным массивом она должна быть им! Будут ли использоваться стандартные массивы пхп для этого или реализуется некий Value объект разрешающий доступ к себе как к массиву - это неважно Важно что каждый элемент должен работать как массив такое вполне реализуемо
Впрочем обычно и бессмысленно в случае с пхп. -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
ShamanVoodoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
Fortop>
в случае
уже работать не будет, ваш вариант я реализовывал, но как только уходишь от одномерных массивов сразу начинаются сложности =\ |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Слушайте, не рассказывайте мне сказок....
Вывод с небольшой отладкой
-------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
ShamanVoodoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
Fortop> код можно увидеть?
|
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Использовать его в работе нельзя.
Он с ошибками! Написан всего лишь для демонстрации принципа
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
ShamanVoodoo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 17.10.2007 Где: Сергиев Посад Репутация: -1 Всего: -3 |
Fortop> спасибо, про такой вариант гет'а как-то не додумался, пойду дальше пилить в сторону count и работы с циклами
|
|||
|
||||
awdev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 22.11.2009 Репутация: нет Всего: 1 |
Странный ТС, то ему нужны переменные внутри класса как массивы, то теперь чтоб объект класса мог быть тоже массивом
![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |