コード例 #1
0
ファイル: inject.php プロジェクト: arhone/cmf
<?php

/**
 * Файл для внедрения зависимостей
 * @author Алексей Арх
 */
# Подключение DIC
$DI = new arh\di\DI(include ROOT_DIR . '/config/di/inject.php');
# Подключение базы данных
try {
    $config = (include ROOT_DIR . '/config/db/localhost.php');
    $DB = new PDO($config['type'] . ":dbname=" . $config['dbname'] . ";host=" . $config['host'], $config['user'], $config['password'], []);
    $DI->set('DB', function () use($DB, $config) {
        $DB->setAttribute(\PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES ' . $config['charset']);
        $DB->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
        $DB->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
        return $DB;
    });
} catch (PDOException $e) {
    $DI->get('Tpl')->display(ROOT_DIR . '/template/error/index.tpl', ['title' => $DI->get('Translate')->get('Невозможно подключиться к базе данных', ROOT_DIR . '/language/error/' . LANGUAGE . '.ini'), 'message' => $DI->get('Translate')->get('Проверьте настройки подлючения - ' . $e->getMessage(), ROOT_DIR . '/language/error/' . LANGUAGE . '.ini')]);
    exit;
}
コード例 #2
0
ファイル: admin.php プロジェクト: arhone/cmf
<?php

/**
 * Инструкция
 * $Registry->set('breadcrumbs', [
 *  'Тест' => '/',
 *  'Хорошая погода' => '/'
 * ]);
 *
 * @var $Tpl arh\tpl\Tpl
 * @var $Cache arh\cache\Cache
 */
# Подключение DIC
$DI = new arh\di\DI(include ROOT_DIR . '/module/breadcrumbs/config/di.php');
$Tpl = $DI->get('Tpl');
$Crumbs = $DI->get('Crumbs');
//$add = ['Главная' => '/admin/'];
$add = [];
if (isset($_GET['mod'])) {
    $Module = $DI->get('Module');
    $mod = $Module->get($_GET['mod']);
    $add = $add + [$mod['title'] => HOME . '/admin/' . $mod['name'] . '/'];
}
$Tpl->display(ROOT_DIR . '/module/breadcrumbs/template/admin.tpl', ['data' => $Crumbs->get($add)]);