parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Путь к текущему файлу из него

virusav 30.10 13:56 / 30.10 13:57

Добрый день.
Есть файлы без классов, которые подключаются через use в цикле.
Требуется найти путь к этому файлу.

^reflection:filename[$self] пустой.
В файле могут быть любые методы, поэтому ^reflection:filename[$auto] и т.д. не годятся.

1. Как узнать путь текущего файла из него?

Вообще проблема такая при подключении файлов один за другим:
В auto.p определяется метод, который может переопределиться в каком-нибудь auto.p ниже.
Нужно, чтобы для всех файлов, которые лежат на уровне и ниже последнего auto.p брался метод из него, а для остальных - из верхнего, как при классовой структуре, если наследоваться от более верхнего по цепочке.

Когда происходит подключение файлов один за другим, то после первого же переопределения метода его результат автоматически перекочевывает в другие файлы, т.к. метод переопределился для всего класса MAIN.

Нашел работающее сомнительное решение через определение путей и проверку, что подключаемый файл лежит ниже или на уровне файла с нужным методом:
^reflection:filename[$auto] - тут нужно получение пути к текущему файлу, т.к. метод @auto может отсутствовать
^reflection:filename[$метод] - путь к последнему файлу, в котором был переопределен метод
Обычно использовал классы, поэтому не было проблем с переопределением методов.
В данном случае классов нет и не предвидится.

2. Есть ли нормальный способ вызова метода только из подключаемого файла с наследованием из разных auto.p, как это происходит при открытии страницы, но при подключении файла через use? И чтобы при этом в других файлах выше этот метод не использовался?