• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy w php jest parent:: dla obiektu dynamicznego?

VPS Starter Arubacloud
0 głosów
590 wizyt
pytanie zadane 7 lipca 2022 w PHP przez matilogias Obywatel (1,550 p.)

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";

 

1 odpowiedź

+1 głos
odpowiedź 7 lipca 2022 przez Arkadiusz Waluk Ekspert (289,150 p.)
W przypadku "dynamicznej" klasy możesz tak samo użyć parent:: jak w przypadku statycznej, wszystko powinno zadziałać identycznie.

Tak przy okazji to w linii 29 prawdopodobnie masz błąd, powinno być ->a zamiast ->$a. Chyba że to tylko zupełnie abstrakcyjny przykład do wytłumaczenia sytuacji i w rzeczywistym kodzie problemu nie ma, to nieważne :)
1
komentarz 7 lipca 2022 przez matilogias Obywatel (1,550 p.)
Dzięki za odpowiedź a przykład jest napisany na szybko tylko do wytłumaczenia sytuacji.

Podobne pytania

0 głosów
1 odpowiedź 558 wizyt
pytanie zadane 31 października 2022 w C i C++ przez Krzysztofs1234 Użytkownik (890 p.)
0 głosów
1 odpowiedź 7,905 wizyt
0 głosów
3 odpowiedzi 311 wizyt
pytanie zadane 5 sierpnia 2016 w C i C++ przez dziki indyk Użytkownik (940 p.)

93,022 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,367 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...