[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Грамотный регистрация и авторизация
sonicsonic1
Доброе время суток.
Есть 3 страницы : index.php login.php signup.php т.е можно либо зарегистрироваться либо залогиниться. Вся инфа в бд. Всё работает,пока я не узнал ,что делать в каждом файле новое подключение к бд это не хорошо.(в пхп недавно) А лучше вообще использовать паттерн Singleton и тем самым создавать единственное подключение.Класс описал(использовал PDO для mysql)
Создаю единственный объект с подключением к бд в index.php и всё отлично работает,но ВОПРОС: а как мне получить этот объект в 2-ух других файлах ? Ну или как вообще делается авторизация и регистрация "по уму" ?
AllesKlar
Цитата
а как мне получить этот объект в 2-ух других файлах

Так же, как и в первом файле.
Реклюдишь файл с классом, создаешь объект класса.
Т.к. это у тебя сингльтон, то, если инстансе класса уже есть, то оно и вернется, второй создан не будет.

Цитата
Ну или как вообще делается авторизация и регистрация "по уму" ?

Тут таких тем уже уйма. Посмотри на форуме готовые решения, логику там поймешь, и под себя сделаешь.

_____________
[продано копирайтерам]
sonicsonic1
спасибо за ответ
dr.nomore
Цитата (sonicsonic1 @ 26.02.2014 - 19:18)
Создаю единственный объект с подключением к бд в index.php и всё отлично работает,но ВОПРОС: а как мне получить этот объект в 2-ух других файлах ? Ну или как вообще делается авторизация и регистрация "по уму" ?

Смотря куда вставляются ваши login.php и signup.php. Если в индекс то коннект в них и так есть, куда ему деваться, из индекса распространится.

Если безындексная система, то есть login.php и signup.php вызываются директом, то каждому придется сделать свой коннект, иначе его взять неоткуда.

Синлетон не нужен. Наверняка есть какой-то конфиг - в него и воткните коннект пропертью. Если проперть null сделайте коннект и в дальнейшем с этой проперти его берите, потому что она уже не null.

То есть делается обычно, без мракобесной статики:

if(!$this->link)
$this->link = new CConnect(new CConnectOptions) // например
return $this->link;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.