PHP в деталях


         

Хранение переменных, глобальных для всех


Демон и экстеншен с API для него к PHP.

Разработчик: [] () [].

Язык: C

Предназначение:
  • Поддержка сессий;
  • Вызов удаленных функций;
  • Хранение переменных, глобальных для всех приложений;
  • Сервис для работы с удаленными глобальными объектами.

Те, кто работал в ASP с объектом Application (я не работал), сразу поймут, зачем нужен SRM. Действительно, для ASP программеров это вещь привычная. Не работавшим с ним постараюсь объяснить. Через пару часов разбирания с SRM у меня появилась четкая ассоциация ? "хранение на Слове" (кто читал С.Лукьяненко "Холодные берега" ? тот поймет сразу).

Действительно четкая аналогия:
  • SRM хранит объекты у себя "в холоде", однако доступен список только уже загруженных объектов, а не всех доступных;

  • удаленный объект ведет себя точно так же, как объект этого класса, объявленный в скрипте, однако его свойства через var_dump не увидишь (ориентация наощупь);

  • объект грузится один раз при первом обращении, после этого он начинает свое "удаленное существование";

  • свойства и методы объекта доступны любому скрипту;

  • кроме объектов, SRM хранит библиотеку функций и глобальные для всех скриптов переменные;

  • с помощью SRM можно "кэшировать" соединение с базой (по предварительным тестам это дает ощутимое ускорение), одно на все скрипты;

  • Варианты использования SRM:
  • счетчик юзеров на сайте;

  • кэширование соединений с базой и часто выбираемых данных из базы;

  • глобальные настройки сайта и темплейты;

  • общие для всех объекты;

  • ваш вариант =).

  • Принцип работы SRM:
  • демон при запуске читает , подбирает из function_library глобальные функции и слушает указанный порт и сокет.

  • клиентский скрипт обращается к демону и тот отдает ему результаты выполнения функций. Именно отдает результаты, функции типа echo, print в удаленных объектах не выведут на экран ничего (а вот в лог демона ? выведут).

  • Объекты классов-детей Banana не подбираются сразу (), а только при первом обращении. При этом, как и у обычных объектов, выполняется конструктор и др. Далее доступны методы и свойства этого объекта, однако через var_dump вы их не увидите, как я уже сказал.

    Содержание  Назад  Вперед





    Forekc.ru
    Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий