вопрос
Когда я пишу простую функцию, которая что-то берет из БД, затем оборачивает это в шаблон, а после всё это кэширует, как грамотно сделать так, чтобы стандартные классы DLE (mysql, template, funtions) работали внутри моей функции.
Это нормально каждую функцию открывать таким образом?
Также работает, если использовать глобалы в начале: global $tpl; global $db; но это вроде бы ещё хуже, прошу разъяснить новичку.
function match_block_by_matchid($match_id) {
//подрубаем БД
if(!$db) $db = new db();
//чтобы не подключать весь конфиг
$config['skin'] = "statdota";
//подрубаем функции кэша
require_once (DLEPlugins::Check(ENGINE_DIR . '/modules/functions.php'));
//подрубаем шаблоны
if(!$tpl) {
$tpl = new dle_template();
$tpl->dir = ROOT_DIR . '/templates/' . $config['skin'];
} //закрылся If
...
}
Это нормально каждую функцию открывать таким образом?
Также работает, если использовать глобалы в начале: global $tpl; global $db; но это вроде бы ещё хуже, прошу разъяснить новичку.
Вы либо изучайте php либо не старайтесь писать самому вот это непонятное "что-то", потому что это даже не напишет человек который ознакомился с базовым синтаксисом php
function match_block_by_matchid($match_id) {
global $db, $config;
$tpl = new dle_template();
$tpl->dir = TEMPLATE_DIR;
}