Когда-то поднимался вопрос об имени файла класса или объекта. Да, предложенное решение работает. Но возникает необходимость дублировать код с @auto[] в каждом классе, что некрасиво. Как и хитрые имена переменных для хранения имён файлов каждого класса.
Предлагаю рассмотреть вопрос нативном поле $obj.FILE_NAME.