ФорумПрограммированиеPHP для идиотов → Моя версия реестра — lazy registry.

Моя версия реестра — lazy registry.

  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 10:27, спустя 4 часа 41 минуту 34 секунды

    Интересно. У JavaScript конечно совершенно другая объектная нотация — красивая. Хорошо бы писать client-side и server-side на этом языке.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 10:54, спустя 26 минут 56 секунд


    Интересно. У JavaScript конечно совершенно другая объектная нотация — красивая. Хорошо бы писать client-side и server-side на этом языке.
    пиши, кто не дает? есть же сервер сайд жс
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 7 февраля 2010 г. 10:57, спустя 3 минуты 5 секунд

    Кстати, да
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 11:31, спустя 33 минуты 33 секунды

    хочу попробовать SSJS, только если найду что-то очень простое в установке и без прослойки Java|Ruby.
    простое типа денвера :)
    ιιlllιlllι унц-унц
  • adw0rd

    Сообщения: 22926 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 12:36, спустя 1 час 5 минут 46 секунд

    artoodetoo, http://adw0rd.ru/2010/nodejs-freebsd/ вот, пожалуйста
    для виндуза http://nodejs.ru/thame/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0/windows
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 13:46, спустя 1 час 9 минут 17 секунд

    опять засрали тему.
    пойду срать к адворду
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 7 февраля 2010 г. 14:16, спустя 30 минут 25 секунд


    опять засрали тему.
    пойду срать к адворду
    буго га га га!
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 1 марта 2010 г. 1:58, спустя 21 день 11 часов 41 минуту

    а как тут с автодополнением?

    мы же не можем указать тип возвращаемых данных * @return Class_Foo
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 1 марта 2010 г. 2:08, спустя 9 минут 48 секунд

    не понял
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 марта 2010 г. 3:36, спустя 1 час 28 минут 50 секунд


    не понял
    syntax helper
    Спустя 40 сек.

    а как тут с автодополнением?

    мы же не можем указать тип возвращаемых данных * @return Class_Foo
    поэтому я и ругался на пхп о его неебической фишке - невозможности приведения к ЛЮБОМУ ТИПУ, а не только стандартным 5-10 типам
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 1 марта 2010 г. 4:31, спустя 54 минуты 35 секунд

    ну блин. не я эту машину конструировал. Абырвалг, тайп хинтинг в помощь.


    class Person
    {
    // …
    }

    class Foo
    {
    public function bar(Person $johnDoe) { /* … */ }
    }

    $foo = new Foo;
    // вполне возможна фататальная ошибка несоответствия типу
    $foo->bar(Qb::get('person'));

    а вот привести к типу Person никак нельзя. он либо есть, либо его нет
    ιιlllιlllι унц-унц
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 1 марта 2010 г. 4:43, спустя 11 минут 46 секунд

    artoodetoo,

    я тоже думаю что ошибка будет
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 13 марта 2010 г. 0:11, спустя 11 дней 19 часов 28 минут

    up

    Почитываю "PHP Objects, Patterns and Practice" и нашел интересное развитие темы. Реестр делается для того, чтобы использовать какие-то значения в глобальной области видимости. А можно копнуть область видимости в разрезе жизненного цикла (lifetime scope):
    - уровень запроса (request)
    - уровень сессии (session)
    - уровень приложения (application)

    Во простых примерах реестр работает как коротко-живущий-кеш. Как только скрипт завершается, данные уничтожаются. Новый запрос — начинаем с чистого листа.
    Если нужны данные, живущие всю пользовательскую сессию, можно сделать специальную версию реестра, пишущую и читающую из $SESSION[].
    Если нужны данные, общие для всех пользовательских сессий, можно организовать долговременное хранение — в файлах, каком-нибудь шаред-мемори или в БД.

    Во всех случаях интерфейс реестра один и тот же! Есть методы get('name') и set('name', value). В книжном примере классы RequestRegistry, SessionRegistry и ApplicationRegistry унаследованы от общего базового класса. У каждого из этих классов свой (не static) пул значений.

    У меня есть идея, что реестр может быть один, а к нему надо подключать разные источники, которые будут просматриваться последовательно. Таким образом можно выстроить перекрытие данных. Если на уровне сессии данные не менялись, будет выдано значение общее для всех.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 марта 2010 г. 2:25, спустя 2 часа 13 минут 33 секунды

    artoodetoo, вопрос - нахуй?)

    мне вот понравилась идея(там ли это было) что регистри нужен для разрыва жесткой связи в коде между классами, когда мы хотел Tpl, а что это з тпл будет нам похуй, вопрос - както надо наложить на это еще интерфейсы, я вот думаю сижу над этим првктически в данный момент
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 13 марта 2010 г. 4:56, спустя 2 часа 31 минуту 9 секунд

    вопрос - нахуй?

    не знаю :))) точнее не уверен, потому что не было повода с этим поиграть
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!