Возможно ли совместное использование переменных (объектов)?

Pauliceman

Новичок
Возможно ли совместное использование переменных (объектов)?

Есть ли возможность в PHP двум (четырем, тремстам, и т.д.)пользователям (у каждого открыта своя сессия) получить доступ к общим переменным или объектам?
 

Кром

Новичок
Смотря что ты называешь "общим переменным или объектам".

В общем случае, каждый пользователь при обращении к скрипту создает свой обьект:
$obj = & new Foo;
обьект работает в течении работы самого скрипта, в рамках одной пользовательской сессии, и не более того.
 

Pauliceman

Новичок
Попробую сформулировать на примере какой-то задачки. Итак, допустим, я хочу чтобы любой пользователь мог всегда узнать, какие модули у меня установлены.


Значит, как я делаю сейчас:

- если модуль установлен то в MySQL таблице добавляется новая запись с инфой об установленном модуле. Пользователь просто делает выборку из таблицы и получает всю информацию об установленных модулях


А как бы хотелось:

-существует массив доступный всем и каждому и ПОСТОЯННО существующий вне зависимости открыта ли хоть одна сессия в данный момент. В этом массиве и хранить всю инфу о модулях. Можно было бы сэкономить на запросах к БД.
 

antiportal

Guest
Pauliceman
существует массив доступный всем и каждому и ПОСТОЯННО существующий вне зависимости открыта ли хоть одна сессия в данный момент. В этом массиве и хранить всю инфу о модулях. Можно было бы сэкономить на запросах к БД.
:) Ну и храни все в файле. Часто что-ли новые модули устанавливаются? Пишем функцию, которая из массива генерит его код на php ($lala = array('bla'=>'bar','foo'='hell world'); ), и просто включаем(include/require) заново сгенерированный после установки модуля файл при инициализации системы.
 

Pauliceman

Новичок
Это бред. Еще хуже чем использовать БД. (пример с модулями - это всего лишь пример)

Хочется что-то вроде переменных сервера, но чтобы самому их создавать.
 

antiportal

Guest
Ну есть еще такая примочка (модуль?) к PHP, которая хранит данные между вызовами скриптов. Не помню, как называется.
 

Pauliceman

Новичок
Не устраивают именно большие временные затраты на выборки из базы. Вот и пытаюсь придумать нечто...
 

Gas

может по одной?
antiportal
shared memory называется

-~{}~ 18.11.04 18:04:

Pauliceman
База нормальный вариант, файлы тоже нормальный вариант. Ты велосипед изобретаешь?
 

Кром

Новичок
>Ну есть еще такая примочка (модуль?) к PHP, которая хранит данные между вызовами скриптов. Не помню, как называется.

antiportal, тогда лучше помолчать вообще.

>shared memory называется

Gas, тебя это тоже касается.


Pauliceman, какие именно затраты? Выборка списка из базы обычно занимает тысячные доли секунды. Скорей всего временная задержка где то в другом месте. Либо отсутствует индексирование таблиц.
 

Кром

Новичок
Pauliceman, дорогой мой. Тебе сейчас предложили абсолютно бредовую идею. Мне будет тебя очень жаль, если в твоей ситуации ты ею воспользуешся.
 

Gas

может по одной?
Кром
очень врятли что antiportal не это имел ввиду
 

Кром

Новичок
Gas, я тебя очень прошу. Не надо больше ничего писать в этой теме.
 

Pauliceman

Новичок
на первый взгляд интересный набор функций. можно, например, отслеживать кол-во народу на сайте (это я начитавшись о семофорах)
 

Кром

Новичок
>Попробую, хотя бы из интереса.

Только потом не надо приходить на форум с криками "Не могу получить список подключенных модулей через shared memory!"
А так, конечно, пробуй.

-~{}~ 18.11.04 18:23:

>на первый взгляд интересный набор функций. можно, например, отслеживать кол-во народу на сайте (это я начитавшись о семофорах)

Ха-ха-ха!!! Ой, я не могу! :)
Pauliceman, продолжай свои исследования.
 

Gas

может по одной?

Кром, Pauliceman - это был не совет её использовать в данном случае, а напомнил antiportal'у как называется эта "примочка"

намёк понял, это моё последнее сообщение в этой теме.
 

Pauliceman

Новичок
А что ж никто про HEAP-овые таблицы в MySQL не вспомнил? Быстро и просто (если хостинг нормальный)!!!!
 
Сверху