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

Bardzo dziwny problem - rekurencja zwraca nulla mimo, że powinna obiekt - dowód

Object Storage Arubacloud
0 głosów
178 wizyt
pytanie zadane 9 kwietnia 2020 w PHP przez XiverKi Bywalec (2,050 p.)

Dzień dobry,

Mam dziwny problem.

Kod:

private function saveResource($token) {
    try {
        $resource = $this->createResource();
        $api = new ResourceApi();
        $resource = $api->saveAllResource($ticket, $resource); // TUTAJ JEST OBIEKT nawet w przypadku rekurencji
        return $resource;
    } catch (Exception $e) {
        $this->saveResource($token); // rekurencja
    }
}

////
$res = $this->saveResource($token);
var_dump($res); // otrzymuje nulla!

Co dziwne, nulla otrzymuje tylko w momencie kiedy wykona się rekurencja - czyli jeżeli nie wpada w CATCH i nie musi jeszcze raz wykonać tej metody to otrzymuje piękny obiekt. Gdy tylko wykona się rekurencja wartość zwrócona to null.

Mimo, że podczas dumpowania jeszcze przed zwróceniem (w funkcji) wskazuje na to, że mam obiekt.

 

Jakie porady? Coś przeoczyłem?

1 odpowiedź

0 głosów
odpowiedź 9 kwietnia 2020 przez XiverKi Bywalec (2,050 p.)

Ok, zauważyłem błąd, w catch również powinien być return:

catch (Exception $e) {
        $this->saveResource($token); // rekurencja
}

 

Jednakże, nie do konca rozumiem dlaczego. Czy ktoś w prostych słowach jest w stanie naprowadzić mnie na odpowiedź?

Podobne pytania

0 głosów
0 odpowiedzi 204 wizyt
pytanie zadane 10 grudnia 2017 w PHP przez Assasz Nałogowiec (30,460 p.)
0 głosów
0 odpowiedzi 1,048 wizyt
pytanie zadane 26 stycznia 2021 w C i C++ przez loczusek Nowicjusz (170 p.)
0 głosów
1 odpowiedź 1,597 wizyt
pytanie zadane 18 kwietnia 2017 w C i C++ przez tadantuda10 Nowicjusz (120 p.)

92,579 zapytań

141,431 odpowiedzi

319,657 komentarzy

61,963 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...