![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dużo się mówi o odseparowaniu logiki od danego frameworka, tak aby po przeniesieniu do innego wszystko odpaliło bez przepisania wszystkiego.
Może ktoś mi wytłumaczyć na przykładzie, chociażby symfony jak to wykonać? Skoro mamy pisać własny kod niezależny od frameworka to rozumiem, że nie powinno się rozszerzać bazowej klasy kontrolera, co za tym idzie tracimy bezpośrednio metody np do zwracania responsa. Jak takie coś rozwiązać? Inny przykład. W kontrolerze pobieramy dane z bazy(doctrine) po przed dostępne metody, nie mając metod z bazowego kontrola na czym się opierać? fajnie jak by ktoś rzucił konkretnym przykładek jakiejś aplikacji. https://zawarstwaabstrakcji.pl/20170130-cqr...rowadzenie-php/ czytałem, ale średnio z tego rozumiem całość i no nie odnosi się to bezpośrednio do pytania. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przykład z kontrolerem:
Cytat Skoro mamy pisać własny kod niezależny od frameworka to rozumiem, że nie powinno się rozszerzać bazowej klasy kontrolera, co za tym idzie tracimy bezpośrednio metody np do zwracania response. Jak takie coś rozwiązać? w symfony istnieje możliwość korzystania z kontrolerów jak z usług i wtedy też tracisz te metody. Response możesz sobie sam utworzyć, metody z bazowego kontrolera jedynie ułatwiają niektóre rzeczy, ale nie są niezastąpione. Podejść do problemu jest conajmniej kilka. Bardzo prosty przykład odseparowania aplikacji od frameworka:
Zaznaczam, że powyższy przykład jest bardzo prosty. Do powyższego należy dodać, że aplikacja powinna być w osobnej przestrzeni nazw i najlepiej w innym katalogu tak, aby można było w każdej chwili ją "wyjąć" z projektu. W przypadku symfony może to być katalog src: src/ src/App/ - tutaj aplikacja src/Bundle/ - tutaj symfonowe bundle Nie ma konkretnego, jedynego i słusznego rozwiązania tego problemu. Ten post edytował lukaskolista 28.02.2017, 11:25:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:26 |