Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%)
|
Pytanie 1.
Załóżmy, że chciałbym sprawdzić czy produkt jest w schowku, chciałbym użyć funkcji {% if product.inClipboard %} w twigu. Sprawdzanie polega na zbadaniu tablicy umieszczonej w sesji. Gdzie powinna się znajdować deklaracja tej funkcji? Encja wydaje mi się niewłaściwa bo potrzebuję dostępu do sesji i nie ma to nic wspólnego z bazą danych (o ile to jest kryterium). A więc repozytorium? Ale wtedy trzeba napisać trochę kodu żeby móc użyć tej funkcji w szablonach. Pytanie 2. Podobna sytuacja, produkt jest w relacji z encją "galeria", która jest w relacji z encją "zdjęcie". Potrzebne jest {% product.getMainImage %} w twigu. Gdzie powinna się znajdować deklaracja tej funkcji? Różnica polega na tym, że ustalenie main image polega na pobraniu pierwszego ze zdjęć w przypiętej galerii więc jest to tylko manipulacja bazą danych. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%)
|
Cytat I co w tym złego? Jeśli potrzebujesz w repozytorium dostęp do jakiegoś serwisu to w jaki sposób go obejdziesz? Z drugiej strony, to nie jest w żaden sposób powiązane z bazą, więc repozytorium lepiej zostawić. Złe jest dlatego, że nadajesz repozytorium kolejną zależność (musisz tą zależność dostarczać przy pisaniu testów). Dodatkowo obciążając to repozytorium kolejnym zadaniem. Co gorsze zależność ta jest związana z jednym z kontekstów uruchamiania aplikacji (http), jeśli chciałbyś takie repozytorium wykorzystać podczas uruchamiania aplikacji z konsoli to masz problem. @Foxx uważasz, że dokumentacja Symfony2 powinna przewidywać wszystkie możliwe klasy do obsługi czegokolwiek i podawać programistom w jakich folderach mają być? Musisz mieć obiekt koszyka i koniec. Operowanie na tablicach, wrzucanie jakiś indeksów zwiększanie ilości, gdzieś po kontrolerach jest śmieszne, ciężkie w testowaniu i jest proszeniem się o problemy. Jeśli zastanawiasz się gdzie umieścić taką klasę (a i nie zastanawiaj się w jakim folderze tylko w jakiej przestrzeni nazw) to posłuchaj pedro84 utwórz przestrzeń nazw/folder Cart. Tylko teraz już nie słuchaj pedro84 (to oczywiście tylko moje zdanie) i nie twórz klasy CartManager tylko po prostu Cart. |
|
|
|
Foxx [SF][SF2][Symfony2] proste sprawy związane z architekturą 12.10.2013, 13:00:24
pedro84 1. Jak dla mnie: repozytorium + funkcja Twig. Sorr... 12.10.2013, 13:36:38
Foxx Dzięki:) 12.10.2013, 13:43:21
destroyerr Ad. 1
Absolutnie nie repozytorium. Przecież musisz... 12.10.2013, 18:09:52 
pedro84 Cytat(destroyerr @ 12.10.2013, 19:09... 12.10.2013, 19:25:01
Foxx Ad. 1 Rozumiem, ale chyba nie masz na myśli tworze... 12.10.2013, 18:25:09
Foxx Cytat(pedro84 @ 12.10.2013, 20:25:01 ... 12.10.2013, 19:51:38 
pedro84 Cytat(Foxx @ 12.10.2013, 20:51:38 ) A... 12.10.2013, 19:53:51
Foxx Trzymam tablicę w sesji i pobieram ją w kontrolerz... 12.10.2013, 20:02:35 
pedro84 Cytat(Foxx @ 12.10.2013, 21:02:35 ) A... 12.10.2013, 20:06:19
Foxx A gdzie jest odpowiednia lokalizacja dla takiej kl... 12.10.2013, 20:09:35
pedro84 Oczywiście w odpowiednim bundlu, np. AppBundle... 12.10.2013, 20:14:21
Foxx Ale ja mam już Bundle i ten koszyk działa tylko we... 12.10.2013, 20:27:48
pedro84 Napisałem Ci już wyżej, AppBundle to nazwa Twojego... 12.10.2013, 20:53:51
Foxx Sorry, nie doczytałem nazwy bundla.
Czyli mogę s... 12.10.2013, 21:38:50 
pedro84 Cytat(Foxx @ 12.10.2013, 22:38:50 ) S... 12.10.2013, 21:58:12
Foxx Okej, dzięki.
A co do pytania to nie jestem pewien... 12.10.2013, 22:03:32
pedro84 Zauważ tylko, że zarówno katalog Entity, jak i For... 12.10.2013, 22:11:32
Foxx Szczerze to nie mam ich aktualnie wiele, jedynie t... 12.10.2013, 22:38:47 
pedro84 Cytat(destroyerr @ 13.10.2013, 16:23... 13.10.2013, 15:29:55
destroyerr CytatZ kontekstem zgoda jak najbardziej, z zależno... 13.10.2013, 17:39:00
Foxx Dzięki, rozjaśniło mi to trochę spraw. Chyba po pr... 16.10.2013, 00:50:45
destroyerr Rozważ sobie czy nie lepiej do metody Cart::contai... 16.10.2013, 18:25:11
Foxx Dzięki, podoba mi się pomysł połączenia usera z ko... 19.10.2013, 00:33:22 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 19:02 |