Нужно получит переменную извне класса и передать в класс, не используя входящие параметры

156
01 декабря 2018, 03:00

Есть класс:

    class list_control
    {
        private $lang;
        private $dbc = $dbc;
        function __construct($lang)
        {
            $this->lang = $lang;
            loadModule('mysql_PDO');
        }
        public function start() {
            $db = new mysql_PDO($this->dbc['host'], $this->dbc['user'], $this->dbc['password'], $this->dbc['dbase']);
            $db->connect();
            $db->query('SELECT * FROM slug');
            load('list', $this->lang);
            $db = null;
        }
    }

$dbc - Массив с данными о подключении в бд. Находиться в config.php, который подключен к index.php, и в этой index.php подключен фаил с этим классом. Нужно ОБЯЗАТЕЛЬНО сделать так, чтобы не нарушать паттерн.

Answer 1

Правильнее будет передать этот масив параметром в метод start.

Ну а неправильно - можно использовать директиву global

public function start() {
  global $dbc;
  $db = new mysql_PDO($dbc['host'], $dbc['user'], $dbc['password'], $dbc['dbase']);
  $db->connect();
READ ALSO
Gateway Timeout после создания Zip-файла

Gateway Timeout после создания Zip-файла

Создаю zip-файл с помощью ZipArchive, куда записываю изображенияПроцесс довольно долгий, но VPS позволяет

171
Как изменить положение текста

Как изменить положение текста

Как изменить положение текста с тегом ?

218
Как создать рабочий url без создания html (php) документа?

Как создать рабочий url без создания html (php) документа?

Во многих интернет-магазинах замечаю, что url страницы товара является латинским транслитом наименования этого товараИ вряд-ли разработчики...

180
Как передавать cookie между файлами в библиотеке Ratchet websocket

Как передавать cookie между файлами в библиотеке Ratchet websocket

Кто работал с данной библиотекой - знает, куки браузера можно получить только при событие onOpen доступном в chatphp только там можно получить данные...

149