• 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

0 głosów
226 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 245 wizyt
pytanie zadane 10 grudnia 2017 w PHP przez Assasz Nałogowiec (30,460 p.)
0 głosów
0 odpowiedzi 1,311 wizyt
pytanie zadane 26 stycznia 2021 w C i C++ przez loczusek Nowicjusz (170 p.)
0 głosów
1 odpowiedź 1,746 wizyt
pytanie zadane 18 kwietnia 2017 w C i C++ przez tadantuda10 Nowicjusz (120 p.)

93,424 zapytań

142,421 odpowiedzi

322,643 komentarzy

62,782 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...