Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Подключение к бд (mysqli)
При этом как я понимаю каждый раз создается новое подключение к бд и если я в разных классах буду так делать - это лишняя трата время и ресурсов. Как можно 1 раз подключиться и потом обращаться к sql из других классов?
EuGen
Отправлено: 20 Июня, 2013 - 14:01:33
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Можно и нужно. Для соединения с БД одним из вариантов является Singleton
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
avtor.fox
Отправлено: 20 Июня, 2013 - 14:01:54
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Он создан будет лишь один раз, потом будет возвращаться уже готовый объект
----- Чем больше узнаю, тем больше я не знаю.
avtor.fox
Отправлено: 20 Июня, 2013 - 14:26:21
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
DelphinPRO, точно
Vaio
Отправлено: 21 Июня, 2013 - 00:33:12
Гость
Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
А как вариант можно ещё сделать global $sql?
Тогда вроде можно только 1 раз прописать global $sql и в каждом классе не нужно будет писать $db = Sql::getInstance();. Или в классах global не будет работать?
esterio
Отправлено: 21 Июня, 2013 - 01:02:53
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
запомните одну вещь - global зло. описаний выше синглтон именно то что нужно
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.