Example #1
0
<?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;
}
Example #2
0
<?php

#Подключение DIC
$DI = new arh\di\DI(include ROOT_DIR . '/config/di/config.php');
#Внедрение зависимости - замена файлового кэша на кэш оперативной памяти
if (MEMCACHE) {
    $Memcache = new \Memcache();
    $Memcache->connect('127.0.0.1', 11211);
    $DI->set('arh\\Cache', function () use($Memcache) {
        return $Memcache;
    });
}
#Подключение базы данных
$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;
});
Example #3
0
File: admin.php Project: 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)]);