PHP: احصل على اسم فئة ورث بطريقة ثابتة
-
21-09-2019 - |
سؤال
حسنًا ، قد يكون عنوان المنشور مربكًا بعض الشيء.
لدي هذا الرمز:
class A {
public static foo() {
return get_called_class();
}
}
class B extends A {
}
class C {
public function bar() {
echo B::foo();
}
}
الإخراج: ج
ما أريد الحصول عليه في FOO () هو اسم فئة B. كيف يمكنني القيام بذلك دون تغييرات في الفئة B؟
التحيات ، جان أوليفر
ملاحظة: __ فئة __ ، get_class () لا تعمل.
المحلول
قبل PHP 5.3 ، هذا غير ممكن بدون اختراقات ويعرف باسم الربط الثابت المتأخر ، وهو مصطلح googlable.
إذا كنت مهتمًا ، فإليك المقالة SO مع الإجابات: التزوير المتأخر ملزمة ثابت قبل 5.3 PHP
نصائح أخرى
أعتقد أنه يمكنك استخدام المدمج فئة الانعكاس من أجل هذا.
لا تنتمي إلى StackOverflow