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

Kopusha
#48068 23.06.2024 00:47

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

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
Как мне логировать в случае ошибки где вызов функции пошел не так?
Если так


    } 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
Если же так
 

        $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