могу ли я преобразовать объект в его родительский объект?
Пример кода
class ClassA { public function foo(){ echo get_class($this); } } class ClassB extends ClassA { public function foo(){ echo get_class($this); // prints ClassB :) parent::foo(); // prints ClassB / I want ClassA :( } } $B = new ClassB(); $B->foo();
возможно ли это в PHP;
В моем сценарии я создаю ClassB, и я хочу переопределить функцию ClassB :: Foo (), чтобы расширить ее поведение, а затем обработать элемент управления до его родительской функции ClassA :: Foo (), но код разбивается, потому что теперь он является объектом класса. Plz не обвиняю меня в том, что «код пахнет», потому что теперь я его уродлив! ClassA из-под контроля … 🙂
Попробуйте использовать __CLASS__
Magic Constant . Он возвращает имя класса, в котором вы сейчас находитесь, независимо от того, какое наследование происходит.