[inne][PHP]include w szablonie twig |
[inne][PHP]include w szablonie twig |
4.07.2019, 13:20:04
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) |
Czy jest różnica w wydajności, ewentualnie inna pomiędzy:
a wersją w której pętla for znajduje się wewnątrz includowanego pliku
Ten post edytował q3d 4.07.2019, 13:20:40 |
|
|
4.07.2019, 13:44:54
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
No roznica jest w rezultacie koncowym. Moze napisz co tak wlasciwie chcesz osiagnac?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.07.2019, 16:32:12
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) |
W szablonie .twig prezentującym listę produktów dołączam szablon w którym jest struktura pojedynczego produktu.
I czy teraz jeżeli wewnątrz pętli {% for %} dam {% include %} to będzie x operacji odczytu z dysku a tym samym może to mieć wpływ na wydajność czy też jest to inaczej rozwiązane i nie ma to znaczenia? Wygodniej (bo tak mi teraz działa) jest mi to zrobić includując wewnątrz pętli ale jeżeli to jest źle to przerobię. |
|
|
5.07.2019, 15:13:27
Post
#4
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 22 Dołączył: 10.01.2014 Ostrzeżenie: (0%) |
Tak jak napisał nospor. Wszystko zależy co chcesz osiągnąć w podanym przez Ciebie przykładzie masz dwa różne końcowe rezultaty.
1. Jeżeli zrobisz szablon który obsługuje wygenerowanie pojedynczego elementu (z include wewnątrz foreach) to otrzymasz jakiś szablon który potrafi wygenerować TYLKO ten jeden element dzięki temu jest on bardziej elastyczny itp. Jeżeli wewnątrz używasz block'ów to już w ogóle. 2. Stworzenie szablonu który na wejściu przyjmuje kolekcje elementów i sama przez nie iteruje w celu wygenerowania widoku doprowadzi do stworzenia potworka który będziesz miał problem zarządzać. Najczęściej lepiej jest stworzyć dwa szablony jeden do listy, a drugi do pojedynczego elementu listy dzięki temu masz separacje nawet na poziomie struktury plików i łatwiej się je reużywa. Dodatkowo taka rada oddemnie z doświadczenia wiem że lepiej jest zawsze jawnie przekazywać parametry przy include do szablonu, a na początku danego szablonu stworzyć sobie "docblock" który opisze jakie parametry można przekazać do danego szablonu. Często to zaoszczędzi Ci wiele czasu później na poszukiwaniu. Tutaj masz przykład z FOSUserBundle symfony oni nawet "content" oddzielają od definicji "layout'u" na wypadek gdyby użytkownik chciał zrobić override tylko częsci. https://github.com/FriendsOfSymfony/FOSUser...s/views/Profile |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 02:27 |