Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [LARAVEL] Blank page przy wzajemnym DI
Forum PHP.pl > Forum > PHP > Frameworki
markonix
Generalnie problem podobny, ale i taki sam jak tu:
http://stackoverflow.com/questions/2242246...uses-blank-page
ale niestety nie ma tam żadnej propozycji. Minęło troszkę czasu ale problem jak widać nadal występuje.

W skrócie - mamy 2 repozytoria.
Wstrzykuje jedno repo do drugiego przez konstruktor i wszystko działa.
Robię odwrotnie i biała strona, null, zero błędów, żadnych logów nie tworzy.

Próbowałem też z:
  1. $this->app->make

i ten sam efekt :/
r4xz
Jesteś w stanie stworzyć prosty przykład i opublikować kod? Problem wydaje się być co najmniej dziwny, jedyne co mi przychodzi do głowy to spytać czy określiłeś jaką klasę DI ma wstrzykiwać w ramach tego interfejsu?
Pyton_000
Strzelam że chodzi o loop. Wstrzykując na wzajem klasy do konstruktora przechodzi proces od nowa. Jedynym wyjściem jest uniknięcie takich sytuacji dołączania klas siebie na wzajem. Sprawdź czy jednak nie dasz rady tego wyeliminować.
markonix
To co Pyton_000 proponuje też mi się wydaje najbardziej prawdopodobne. Wywołują się konstruktory wzajemnie i wywala skrypt bez żadnego śladu w logach.

Problem muszę widocznie rozwiązać na poziomie logiki biznesowej aniżeli kodu (bo co tu próbować kombinować, wywołać metodę bez ładowania klasy...).

Korzystam z https://github.com/andersao/l5-repository
Mam 2 repozytoria dla dwóch modeli w relacji.
W jednym REPO dodaje z formularza Klasę i Uczniów. Repo uczestników wstrzykuję i dodaje bezpośrednio ich z poziomu Repo Klasa.
No i teraz np. dodaj samego Ucznia i chciałbym wstrzyknąć REPO Klasy aby np. zaktualizować kolumnę z liczbą osób w klasie.
Jest na to jakiś pattern, może repozytoria nie powinny od siebie wzajemnie zależeć?




Jednym z działający rozwiązań jest przekazanie REPO przez parametr metody (argument $this).
I potem w metodzie $repo->
Ale słabo to wygląda, faktycznie muszę te repozytoria przemyśleć na nowo albo dodać jeszcze jedna warstwę np. coś w stylu Services (choć na razie tego unikam bo póki co same repozytoria mi czasem sprawiają problemy logiczne - gdy się głowię co umieścić w modelu, a co w repo więc dodanie kolejnego stopnia na razie odkładam).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.