<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Как получить имя файла в котором вызывается функция</title>
		<link>https://www.cotonti.com</link>
		<description>Neueste Themenbeiträge</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Wed, 15 Apr 2026 05:25:35 -0000</pubDate>

		<item>
			<title>Alex300</title>
			<description><![CDATA[<p><code>debug_backtrace()</code> содержит полный стек вызовов. Если получаете <strong>cotemplate</strong> - значит функция вызывается в шаблоне (tpl-файлы). Шаблоны сами не умеют выполнять PHP, по этому за них это делает шаблонизатор. Тут можно заглянуть в <code>$backtrace[1]</code> чтобы узнать откуда запущен рендер шаблона.</p>

<p>Также исключение <code class="php variable">$e</code>, если не ошибаюсь, может содержать данные аналогичные <code>debug_backtrace()</code></p>
]]></description>
			<pubDate>Di, 25 Jun 2024 04:46:47 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9359&d=0#post48070]]></link>
		</item>
		<item>
			<title>Kabak</title>
			<description><![CDATA[<p>1) В отладчике можно посмотереть. Думаю в PHP нет информации в каком файле находится та или иная функция. </p>

<p>2) Посмотреть как реалигована генерация ошибок и предупреждений в Cotonti</p>
]]></description>
			<pubDate>Mo, 24 Jun 2024 06:20:52 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9359&d=0#post48069]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>К примеру моя тема aplha и есть кастомные функции alpha.php.<br />
там какая то функция например<br />
 </p>

<pre class="brush:php;">
function get_country_info_count($cat) {
    global $db, $db_pages, $cfg; 
    try {
        $stmt = $db-&gt;prepare("SELECT COUNT(*) FROM $db_pages WHERE page_state = 0 AND page_cat = :cat");
        $stmt-&gt;bindParam(':cat', $cat, PDO::PARAM_STR);
        $stmt-&gt;execute();
        $result = $stmt-&gt;fetchColumn();
        return $result;
    } catch (PDOException $e) {
        return false;
    }
}
</pre>

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

<pre class="brush:as3;">

    } catch (PDOException $e) {
        $file_name = basename(__FILE__);
        cot_log('Function get_country_info_count error in file '.$file_name, 'adm');
        return false;
    }
</pre>

<p>то получу file_name alpha.php<br />
Если же так<br />
 </p>

<pre class="brush:as3;">
        $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');</pre>

<p>то получу cotemplate</p>
]]></description>
			<pubDate>So, 23 Jun 2024 00:47:33 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9359&d=0#post48068]]></link>
		</item>
	</channel>
</rss>