Ben mevcut sınıf ve ana sınıfına başvurmak için devralınan yöntemleri bir nesnenin sınıfını karşılaştırmak istiyorum. Bu bunu yaptığını düşünebilirsiniz tek yoludur:
class foo { function compare($obj) { return get_class($obj) == get_class(new self); } }
class bar extends foo { }
$foo = new foo;
$foo->compare(new foo); //true
$foo->compare(new bar); //false
$bar = new bar;
$bar->compare(new foo); //true
$bar->compare(new bar); //false
Kendine miras yöntemleri üst sınıfa gelir, çünkü bu işler, ama bir sınıf ben bir karşılaştırma yapmak istediğiniz her zaman örneğini zorunda aşırı görünüyor.
Basit bir yolu var mı?