Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%)
|
Hej,
znalazłem, jak narazie jedyny, artykuł na temat "keszowania" ( w rozumieniu, że nie zwykły Cache::remember w kontrolerze ) , który niby ma odświeżać cache po modyfikacji modelu. klik Napisałem sobie generyczne CrudRepository np z taką metodą
Chciałbym dołożyć coś w stylu jak w linku aby poprawić wydajność aplikacji oraz aby było to uniwersalne i nie brało z "keszu" jeśli model jest nowszy. Konfiguracja drivera standardowa = file. Czy możecie podpowiedzieć jak utworzyć np. jakiś bazowy model, który rozszerzałby Eloquent/Model? Ten post edytował john_doe 4.06.2018, 13:28:48 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Implementacja nowych funkcjonalności to był może i dobry powód by rozszerzać klasę w PHP, ale z 10 lat temu albo więcej (kiedy dziedziczenie i singleton to były jedyne słuszne wzorce, hehe)
Dzisiaj takie rzeczy załatwia się poprzez delegację, czyli dostarczenie jakiejś tam funkcjonalności w miejsce, gdzie jest ona potrzebna. Masz już repository, więc wg mnie dobrze jest przygotować sobie serwis "cache" i po prostu użyć go w tym repository. Z tego co pamiętam Laravel daje łatwą możliwość wstrzyknięcia serwisu przez konstruktor i dysponuje także kontenerem serwisów, więc nie powinno być problemu. Dodatkowo prawie zawsze istnieje potrzeba keszowania nie tylko zapytań do bazy i wtedy wszystko mamy załatwione jednym serwisem. |
|
|
|
john_doe [Laravel] Cache 4.06.2018, 13:27:34
kleus Tak jak kolega Pilsener wspomnial najelpiej przez ... 23.08.2018, 10:26:45 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 10:25 |