Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Переподключение в синглтоне
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 12174
Пользователь №: 23195
На форуме: 14 лет, 7 месяцев, 28 дней
Карма: 441

Трезвый :
15 лет, 6 месяцев, 28 дней


ABC
В данном случае, если не ошибаюсь (не доводилось ни разу работать напрямую с MySQLi), если ты будешь напрямую вызывать конструктор - то будешь плодить новые подключения, т.е. тебе самому придется следить за этим.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Invis1ble

А зачем он там нужен конструктор?

class my
{
public static $sql;//объект подключения
public static function connect()
{
self::$sql = new mysqli('localhost', 'root', '12345', 'db');
if (!self::$sql->connect_errno)
{
if(self::$sql->character_set_name()!=='utf8')self::$sql->set_charset('utf8');//проверяем кодировку
}
else trigger_error('CONNECT: '.self::$sql->connect_errno,512);
}
}


my::connect();// на index.php во время инициализации - создаем объет подключения

my::$sql->query("BEGIN");


Что плохого в этом просто подходе? Ну + еще будут методы - обертки всякие - SELECT, COUNT...

Каждый раз при запросе в БД будет использоваться один и тот же объект my::$sql


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 12174
Пользователь №: 23195
На форуме: 14 лет, 7 месяцев, 28 дней
Карма: 441

Трезвый :
15 лет, 6 месяцев, 28 дней


Цитата
Что плохого в этом просто подходе?

А если подключение не нужно? Все равно коннектиться будешь при каждом запросе? А теперь покажи мне, как ты собираешься определять, было ли уже установлено ранее соединение или надо создавать новое? wink.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Цитата
А если подключение не нужно? Все равно коннектиться будешь при каждом запросе?

Invis1ble

Но у меня на каждой странице есть запрос в БД.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 12174
Пользователь №: 23195
На форуме: 14 лет, 7 месяцев, 28 дней
Карма: 441

Трезвый :
15 лет, 6 месяцев, 28 дней


Цитата
Но у меня на каждой странице есть запрос в БД.

То есть ты думаешь только в контексте конкретного проекта, находящегося на определенной точке своего развития smile.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Invis1ble

Все я все понял...AJAX запросы будут создавать ненужные подключение, как пример. Все таки придется как-то придумать автосоздовать подключение и проверять его. Ну посижу поизобретаю велосипед. хотя он у меня и был всегда подключен этот синглтон до вчерашнего дня, но не совсем оправдано.

Спасибо.

Аж настроение все испортилось.



--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Цитата
А теперь покажи мне, как ты собираешься определять, было ли уже установлено ранее соединение или надо создавать новое?


Не пойму эту фразу. Если успешно было

Цитата
my::connect();// на  index.php во время инициализации - создаем объет подключения


Значит подключение становлено


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 12174
Пользователь №: 23195
На форуме: 14 лет, 7 месяцев, 28 дней
Карма: 441

Трезвый :
15 лет, 6 месяцев, 28 дней


Цитата
Все таки придется как-то придумать автосоздовать подключение и проверять его.

всё уже давно придумано - http://ru.wikipedia.org/wiki/%D0%9E%D1%82%...%86%D0%B8%D1%8F


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 12174
Пользователь №: 23195
На форуме: 14 лет, 7 месяцев, 28 дней
Карма: 441

Трезвый :
15 лет, 6 месяцев, 28 дней


Цитата (ABC @ 26.01.2014 - 08:38)
Цитата
А теперь покажи мне, как ты собираешься определять, было ли уже установлено ранее соединение или надо создавать новое?


Не пойму эту фразу. Если успешно было

Цитата
my::connect();// на  index.php во время инициализации - создаем объет подключения


Значит подключение становлено

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


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Invis1ble

Но вот не хочу тебя доставать всякими вопросам дурацкими, но специально сейчас перепроверил. У меня реально каждый раз хоть один да делается запрос в БД. Даже для AJAX запросов.

Я понял в чем дело и вижу какие преимущества есть при таком подходе, но также вижу постоянные ненужные проверки на наличие коннекта (объекта).

Я не спорю, так мысли вслух.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Нет ну нужно конечно ставить (оставить) синглтон, с ним намного удобнее, особенно прогнозируя вперед.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3900
Пользователь №: 21196
На форуме: 15 лет, 19 дней
Карма: 88




Все вопрос решился, добавление строки:

if(self::$sql===NULL)self::connect();


в метод query.

Всем спасибо, еще раз!


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса