Czy w php jest jakiś dynamiczny zamiennik parent:: żeby wywołać z metodę klasy rodzica?
Tu jest przykład tego co chcę osiągnąć w klasie dynamicznej i odpowiednik tego w klasie statycznej.
<?php
//statyczne
class staticA
{
public static $a;
public static function setA($a)
{
self::$a = $a;
}
}
class staticB extends staticA
{
public static function setA($a, $b = null)
{
if ($b === null) {
parent::setA($a); // tu wywołuje metodę z staticA
} else {
self::$a = $a + $b;
}
}
}
//dynamiczne
class A
{
public $a;
public function setA($a)
{
echo "setA($a)\n";
$this->$a = $a;
}
}
class B extends A
{
public function setA($a, $b = null)
{
if ($b === null) {
$this->setA($a);// < tu wywołuje metodę z B a potrzebuję wywołać metodę z klasy A
} else {
$this->a = $a + $b;
}
}
}
$a1 = new B();
$a1->setA(1);
$a2 = new B();
$a2->setA(2, 3);
echo $a1->a . "\n";
echo $a2->a . "\n";