/** * Подключение шаблонизатора Twig */ public function __construct() { $config = \App\Config::instance(); $templates_dir = $config->data['templates']['dir']; $loader = new \Twig_Loader_Filesystem($templates_dir); $this->twig = new \Twig_Environment($loader); }
protected function __construct() { $config = Config::instance(); try { $this->dbh = $this->getPdoObj($config); } catch (\PDOException $e) { throw new DbException('Не удалось подключиться к БД ' . '<br>' . $e->getMessage()); } }
private function __construct() { $dbc = Config::instance()['db']; $dsn = $dbc->driver . ':host=' . $dbc->host . ';dbname=' . $dbc->dbname . ';charset=' . ($dbc->charset ?? 'utf8'); try { $this->dbh = new \PDO($dsn, $dbc->user, $dbc->password); $this->dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch (\PDOException $e) { \App\Notifier::instance()->notify('Database problems!!!', 'Cannot connect to database!!!'); throw new \App\Exceptions\Db(null, 1, $e); } }
/** * Установка соединения с БД */ public function __construct() { $config = \App\Config::instance(); foreach ($config->data['db'] as $property => $value) { ${$property} = $value; } $dsn = 'mysql:host=' . $host . ';dbname=' . $dbname; try { $this->dbh = new \PDO($dsn, $username, $password); } catch (\PDOException $e) { throw new \App\Exceptions\Db('Нет соединения с БД'); } }
/** * Создание объекта подключения к БД */ public function __construct() { $config = App\Config::instance(); $param1 = 'mysql:host=' . $config->data['db']['host'] . ';dbname=' . $config->data['db']['dbname']; self::$DbName = $config->data['db']['dbname']; $param2 = $config->data['db']['login']; $param3 = $config->data['db']['pass']; try { $this->dbh = new \PDO($param1, $param2, $param3); //Добавлены атрибуты подключения (режимы выброса исключений) $this->dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch (\PDOException $e) { $mailer = new \App\SwMailer(); $res = $mailer->sendMail('Проблемы БД', 'Потеря соединения с БД', 1); $msg = !$res ? 'Неудачная попытка оповещения администратора' : 'Администратор оповещен'; throw new \App\Exceptions\DB('Некорректные параметры подключения к БД. ' . $msg . ' '); } }
<?php require __DIR__ . '/tests.php'; $config = \App\Config::instance(); /** * Check if parameter 'db' exists in config */ echo check($config->db, 'Config->db'); /** * Check if key 'host' exists in parameter 'db' of config */ echo check(isset($config->db['host']), 'Config->db[host]');
protected function actionTable() { $funcs = Config::instance()->funcs; $table = new AdminDataTable([1, 2, 3, 4, 5], $funcs); $table->render1(); $this->view->render('/admin/table.html', ['data' => $table->data, 'func' => $table->namefunc, 'resource' => \PHP_Timer::resourceUsage()]); }
protected function __construct() { $config = Config::instance(); $this->dbh = new \PDO($config->data['db']['driver'] . ':host=' . $config->data['db']['host'] . ';dbname=' . $config->data['db']['dbname'], $config->data['db']['user'], $config->data['db']['password']); }
/** * Получение пути к файлу с логами */ public function __construct() { $config = \App\Config::instance(); $this->file = $config->data['log']['file']; }