@Us59

Подключение к БД в Class?

Есть файл config.php и index.php

В файле config.php я прописал адрес к БД
В файле index.php имеется такой код:

$object = new Script();

class Script {

     function GetNewOrders() {
          require_once("config.php");
          //затем танцы с бубном где прописываем подключение к бд итд........ 
     }

}
$newOrders = $object->GetNewOrders();


Вопрос, как мне подключить БД нормально, чтобы не было танцев с подключением БД каждый раз в новой ф-ции?
Хочу просто брать и использовать запрос к БД без всяких заморочек с подключением внутри ф-ции.

Я пробовал подключать файл Config.php перед Class - не срабатывало, также пробовал подключать внутри класса, но также не работает. Работает только если я прописываю подключение каждый раз в каждой ф-ции
  • Вопрос задан
  • 393 просмотра
Пригласить эксперта
Ответы на вопрос 2
flapflapjack
@flapflapjack
на треть я прав
Либо делать класс DB instance (но говорят что инстанц - плохо),
либо создать объект бд в одно месте, и передавать конструктору каждого класса, использующего БД
Ответ написан
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Либо так как сказал Анатолий
Либо сделайте супер-класс DBObject
class DBObject
{
    protected $db = null;

    public function __construct() 
    {
        //Тут код для инициализации соединения с БД
        $this->db = $connection;
    }
}

И все остальные классы наследуйте от него
class Script extends DBObject {

     function GetNewOrders() {
          $query = $this->db->query(...);
          //Ну и так далее
     }

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы