Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли сделать на PHP один синглетон для разных пользователей ?

276
04 октября 2007 года
Rebbit
1.1K / / 01.08.2005
PHP 5
Создал синглетон для коннекта к БД. Его используют разные классы таблиц.
Пришлось делать транзакции и я засомневался как оно будет роботать если одновременно два пользователя обратятся по одному урлу. Експеримент (как я и предпологал) показал что на каждое обращение создается свой синглетон. Ето мен полностю устраивает, но вопрос

Можно ли создать синглетон который будет жыть после выполнения запроса и будет глобальным для всех обращений ?
15
04 октября 2007 года
shaelf
2.7K / / 04.05.2005
РНР отрабатывает скрипт и забывает об нём. Соответственно, что второе обращение к скрипту ничего не знает о первом.
Единственное, что ты можешь сделать, это передавать линк коннекта в другие классы таблиц, типа того
Код:
<?php
class Db
{
    private static $_instance = null;
   
    private $_link;
   
    private function __construct($param)
    {
        $this->_link = mysql_connect($param);
    }
   
    public static function instance($param)
    {
        if(is_null(self::$_instance)) {
            self::$_instance = new Db($param);
        }
       
        return self::$_instance;
    }
   
    public function getLink()
    {
        return $this->_link;
    }
}

class Db_Table
{
    public function __construct($link = null)
    {
        if(is_null($link)) {
            throw new Exception('Установите соединение');
        }
    }
}


PS Я бы сделал немного по другому, но смысл тот же.
276
04 октября 2007 года
Rebbit
1.1K / / 01.08.2005
Не. С таблицами и конектом у меня все гуд. Каждая таблица обращается к класу-синглетону БД и достает конект. Соответственно первая таблица создаст БД вместе с конектом, а остальные будут его юзать.

Меня интересовала суто возможность одного общего синглетона на всю жизь веб-сервера. Ну нельзя так нельзя. Потребности в нем у меня пока не возникало. Суто интересуюсь.
Спасибо за ответ.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог