Я в свое время столкнулся с похожей проблемой. Но решение нашел другое.
Во-первых создал свой абстрактный класс class MyPageView extends View, и основные шаблоны страниц это экземпляры MyPageView.
Кроме того есть некая модель PageHead_Model, которая создается в контроллере и соответственно там наполняется всем что хранится в заголовке: подклюечние стилей, скриптов, метатеги и т.д. Для ее отображения есть свой View, сущетсвующий на каждой странице и создающийся в конструкторе MyPageView.
PS. Тоже не понял, что произойдет, если параллельно открыты две закладки в браузере :)
Так что тут непонятного? :) Весь код отрабатывается по значению из сессии. Если одна закладка его изменила — вторая воспользуется новым значением.
По поводу реализации с помощью событий. Хм… Реализация с помощью post_controller_constructor не совсем удачна, именно потому что событие post. Тоесть установка состояния в самом конструкторе не будет иметь эффекта — событие все обнулит. Я не говорю что устанавливать НЕдефолтовые состояния в конструкторе — это хорошо. Но такое ограничение это плохой стиль.
Тогда уже наверное лучше использовать событие pre_controller — но вынос инициализации дефолта за пределы контроллера — тоже не по фен-шую.
Я сам С++ник, поэтому мне такое ООП-шное решение (с базовым конструктором) ближе.
Кстати, раз уже коснулся — оооочень не хватает полиморфизма функций в php, и в частности конструкторов, для реализации моделей.
Использование Session::instance()->get('cnd_controller') или Router::$controller — это на любителя.
На web.rambler.ru был обзор подобных сервисов. РУ-шных правда, но меня там тоже зацепили, как украинский, в самом конце. Помню, был тогда очень приличный трафик оттуда, пока обзор висел в топе. Хоть и не особенно целевой.
Я так и думал что после поста про домашнюю бухгалтерию в гугле авторы начнут свои домашние бухгалтерии пиарить.
Поэтому сам отметился только комментарием в том посте :)
Честно говоря не вижу большого смысла для пиара такого проекта на хабре.
— «подсказать» — да мы и так прекрасно знаем, что пользователям нужно (если конечно пользоваться своими же сервисами)
— «поругайте» — мы и так прекрасно знаем основные плюсы и минусы (мобильность и секурность)
— трафик — разве что для fin-ack, который вроди бы из того что я читал — претендует на финансово активных людей больше, а не на тех кто хочет экономить. Я думаю вторая конверсия у вас будет гораздо ниже чем из гугла например. У нас (Украина) немного другое проникновение интернета, и может быть немного другой портрет пользователя — но думаю наши аудитории практически не отличаются.
А какая разница собственное? Что было в браузере открыто — на том и привел.
Попробовал на i.ua — там роутинг настроен и фокус не прошел. Попробовал другой однобукв — получилось.
Это пресс-релизы и уж никак не агрессивная реклама.
Посему мне кажется, ваше регулярное «черт, опять купился» — созвучно с ударом граблями после мысли «а что — и вправду долбанет если сюда наступить?».
да, конечно.
но я ее как в стандатной постановке (12 монет) так и в постановке 13 монет и 15 (с одной «верной») решал не через троичную систему а комбинированием последовательностей взвешиваний с разным количеством монет. потому сразу не сориентировался — пришлось разбирать все номера в надежде найти ошибку :)
я проверил остальные варианты — вроди бы верно.
таким образом, монета 100 — это как раз должна быть заведомо верная монета.
Другими словами, выбрасываем из той нумерации монету 100 и вместо нее во второе взвешивание вкладываем монету скажем… 333 (так мы обзываем верную 15-тую монету).
Теперь мы ищем из 14 монет с той же нумерацией, а монета 333 просто позволяет сделать 2-е взвеишвание полноценным.
Во-первых создал свой абстрактный класс class MyPageView extends View, и основные шаблоны страниц это экземпляры MyPageView.
Кроме того есть некая модель PageHead_Model, которая создается в контроллере и соответственно там наполняется всем что хранится в заголовке: подклюечние стилей, скриптов, метатеги и т.д. Для ее отображения есть свой View, сущетсвующий на каждой странице и создающийся в конструкторе MyPageView.
Если Вас не затруднит — вышлите, пожалуйста, одним файлом ( alexflom@ukr.net ). Спасибо.
Так что тут непонятного? :) Весь код отрабатывается по значению из сессии. Если одна закладка его изменила — вторая воспользуется новым значением.
Тогда уже наверное лучше использовать событие pre_controller — но вынос инициализации дефолта за пределы контроллера — тоже не по фен-шую.
Я сам С++ник, поэтому мне такое ООП-шное решение (с базовым конструктором) ближе.
Кстати, раз уже коснулся — оооочень не хватает полиморфизма функций в php, и в частности конструкторов, для реализации моделей.
Использование Session::instance()->get('cnd_controller') или Router::$controller — это на любителя.
Поэтому сам отметился только комментарием в том посте :)
Честно говоря не вижу большого смысла для пиара такого проекта на хабре.
— «подсказать» — да мы и так прекрасно знаем, что пользователям нужно (если конечно пользоваться своими же сервисами)
— «поругайте» — мы и так прекрасно знаем основные плюсы и минусы (мобильность и секурность)
— трафик — разве что для fin-ack, который вроди бы из того что я читал — претендует на финансово активных людей больше, а не на тех кто хочет экономить. Я думаю вторая конверсия у вас будет гораздо ниже чем из гугла например. У нас (Украина) немного другое проникновение интернета, и может быть немного другой портрет пользователя — но думаю наши аудитории практически не отличаются.
Но стало интересно — и Домашнюю бухгалтерию онлайн написал сам.
Только берегитесь — как показывает опыт — заминусуют :)
Попробовал на i.ua — там роутинг настроен и фокус не прошел. Попробовал другой однобукв — получилось.
Посему мне кажется, ваше регулярное «черт, опять купился» — созвучно с ударом граблями после мысли «а что — и вправду долбанет если сюда наступить?».
но я ее как в стандатной постановке (12 монет) так и в постановке 13 монет и 15 (с одной «верной») решал не через троичную систему а комбинированием последовательностей взвешиваний с разным количеством монет. потому сразу не сориентировался — пришлось разбирать все номера в надежде найти ошибку :)
таким образом, монета 100 — это как раз должна быть заведомо верная монета.
Другими словами, выбрасываем из той нумерации монету 100 и вместо нее во второе взвешивание вкладываем монету скажем… 333 (так мы обзываем верную 15-тую монету).
Теперь мы ищем из 14 монет с той же нумерацией, а монета 333 просто позволяет сделать 2-е взвеишвание полноценным.