2010-04-01 3 views
3

Мне было интересно, существует ли общая практика настройки объекта соединения mysql в php-программе, чтобы вы не повторяли избыточный код соединения снова и снова в своих классах.Лучшая практика настройки подключения PHP mysql

+0

Что вы имеете в виду «так что вы не пишите лишнего кода подключения снова и снова в ваших классах»? – Dor

+0

Одно связанное, критическое соображение: вы хотите защитить параметры подключения от воздействия, поэтому вы хотите, чтобы они отключились от любого пути к каталогу, к которому может обратиться браузер. Инкапсуляция этого бита кода является шагом на пути к безопасности, так как вы имеете его только в одном (безопасном) месте. – Smandoli

ответ

0

Нет абсолютно правильного способа сделать это, но вы можете принять предложения других людей и, возможно, объединить их.

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

+0

Так я обычно это делаю, хотя, по-моему, «заводский метод» выглядит лучше всего –

2

Я использую шаблон хранилища (http://martinfowler.com/eaaCatalog/repository.html), чтобы поместить всю мою базу данных и код SQL в небольшой набор классов, которые отвечают за перевод между базой данных и объектами домена. Это приводит к тому, что все другие коды имеют избыточный код соединения db или SQL-запросы.

Я использую это так:

$criteria = new UserCriteria(); 
$criteria->active = true; 
$repository->getUsers($criteria); // repo connects to DB and returns array of user objects 
Смежные вопросы