Forums / National / Russian / Тех. поддержка / Как получить имя файла в котором вызывается функция

Kopusha
#48068 2024-06-23 00:47

К примеру моя тема aplha и есть кастомные функции alpha.php.
там какая то функция например
 

PHP
1
2
3
4
5
6
7
8
9
10
11
12
function get_country_info_count($cat) {
    global $db, $db_pages, $cfg;
    try {
        $stmt = $db->prepare("SELECT COUNT(*) FROM $db_pages WHERE page_state = 0 AND page_cat = :cat");
        $stmt->bindParam(':cat', $cat, PDO::PARAM_STR);
        $stmt->execute();
        $result = $stmt->fetchColumn();
        return $result;
    } catch (PDOException $e) {
        return false;
    }
}

Эта функция вызывается в разных местах - например в page.edit.php
Как мне логировать в случае ошибки где вызов функции пошел не так?
Если так

1
2
3
4
5
} catch (PDOException $e) {
    $file_name = basename(__FILE__);
    cot_log('Function get_country_info_count error in file '.$file_name, 'adm');
    return false;
}

то получу file_name alpha.php
Если же так
 

1
2
3
$backtrace = debug_backtrace();
$caller_file = isset($backtrace[0]['file']) ? basename($backtrace[0]['file']) : 'unknown';
cot_log('Function get_country_info_count error in file '.$caller_file, 'adm');

то получу cotemplate