я могу в данный момент на следующее:Resolve имя файла из другого файла
class SubClass extends SuperClass {
function __construct() {
parent::__construct();
}
}
class SuperClass {
function __construct() {
// this echoes "I'm SubClass and I'm extending SuperClass"
echo 'I\'m '.get_class($this).' and I\'m extending '.__CLASS__;
}
}
Я хотел бы сделать что-то подобное с именами файлов (__FILE__
, но динамически оценивается); Я хотел бы знать, в каком файле находится подкласс, из суперкласса. Возможно ли это любым элегантным способом?
Я знаю, что вы можете что-то сделать с get_included_files()
, но это не очень эффективно, особенно если у меня есть многочисленные экземпляры.
Я создаю структуру, которая должна быть способна рассказать обо всех двух классах с одинаковыми именами и дать им уникальные и последовательные идентификаторы. В настоящее время я делаю pass-the -__ FILE __-trick и строю идентификатор из этого пути. Пространства имен могут помочь, но они слишком новы для моих нужд. – 2008-10-14 18:48:14
Теперь я действительно смущен. Два класса с тем же именем? Вы не получите ошибку «Невозможно переопределить класс»? Или вы на самом деле планируете метапрограммирование каждого файла? – 2008-10-14 19:52:08