حل اسم الملف من ملف آخر
-
03-07-2019 - |
سؤال
ويمكنني حاليا على ما يلي:
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()
، ولكن هذا ليست فعالة جدا، خصوصا إذا كان لدي حالات عديدة.
المحلول
ويمكنك استخدام التأمل.
$ref = new ReflectionObject($this);
$ref->getFileName(); // return the file where the object's class was declared
نصائح أخرى
واه، وليس حقا، وأنني يمكن أن تفكر به. يحتاج كل فئة فرعية لطريقة تنفيذها بشكل واضح أن عاد __FILE__
، التي الهزائم تماما وجهة الميراث في المقام الأول.
وأنا أيضا غريبة حقا لماذا شيئا من هذا القبيل سيكون مفيدا.
لا تنتمي إلى StackOverflow