![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
W ramach "ćwiczeń" będę wykonywać pewien projekt przy użyciu Symfony. Z założenia będą w nim trzy aplikacje: sklep, forum, backend.
Mimo iż projekt jest stricte treningowy zarówno sklep jak i forum muszą być osobnymi aplikacjami (nie mogą być modułami). I zastanawiam się jak mógłbym wygodnie "połączyć" obie frontendowe aplikacje. Chodzi mi o proste zadania typu: jesteśmy w akcji store/product/show i chcę wykonać np. przekierowanie do: board/thread/show?id=123. Gdyby to było w obrębie jednej aplikacji wystarczyłoby Ale tutaj nie ma takiej możliwości. Domyślam, się, że trzeba by było przed wykonaniem takiego przekierowania załadować odpowiednie dane z innej aplikacji - co niestety wiązałoby się z sporym nakładem dodatkowej pracy oraz zmiejszeniem czytelności. Innym przykładem mogłoby być użycie komponentu z aplikacji forum, w szablonie jakiejś akcji z aplikacji sklepu. Ma ktoś jakieś sugestie? Albo linki do jakiś atykułów - niestety, albo nie mogę wpaść na odpowiednią frazę, albo nie ma o tym za dużo w sieci napisanego. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
A nie możesz mieć sklepu i forum w jednej aplikacji ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie trochę bez sensu żeby robić do tego oddzielne app. Ale skoro musisz to tu możesz znaleźć rozwiązanie: http://forum.symfony-project.org/index.php/m/50656/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli to miałoby być jako jedna aplikacja to moduły musiałbym tworzyć na zasadzie:
Kod frontend Co nie wygląda mi na najładniejsze rozwiązanie. Pozatym na logikę widać, że sklep i forum to osobne aplikacje - a przy tym na tyle rozbudowane, że nie będzie ich można potraktować jako zwykły moduł, gdyż przypadałoby na niego zbyt wiele różnego rodzaju akcji.modules store_module1 store_module2 store_module3 board_module1 board_module2 board_module3 Ogólnie sprowazda się to do tego, by z poziomu jednej aplikacji mieć dostęp do takich rzeczy jak reguły routera, możliwość wykonywania przekierowań pomiędzy aplikacjami itp. Mógłbym napisać własne "wrappery" na obiekty sfResponse itp. i tam nadpisać część metod, tak by wywoływane bez dodatkowego paramteu działały dokładnie jak ich rodzice, ale zastanawiam się czy nie ma jakiegoś łatwiejszego rozwiązania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
To stwórz sobie np aplikacje sklepu i dopisz osobny plugin forum, tak samo jak instaluje się gotowe dodatki
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 7 Dołączył: 15.05.2005 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Istnieje możliwość tworzenia linków miedzy aplikacjami. Na blogu Symfony jest tutorial. Ja osobiście bym zrobić backend jako jedna aplikacja, frontend z forum i sklepem jako druga.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za wszystkie informacje. Z racji, że bardzo doświadczony przy pracy z Symfony nie jestem czy moglibyście powiedzieć mi jakich jeszcze problemów mogę się spodziewać przy pracy "cross-app"?
O route-ingu i cache-u wiedziałem od samego początku, ale czy coś jeszcze może mnie zaskoczyć? Modele, fromularze oraz moje własne czy też inne biblioteki są współdzielone ROOT/lib. Baaardzo mało prawdopodobne jest by dwie aplikacje miały korzystać ze wspólnego layoutu. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Pewnie będziesz miał problem z obiektem user czyli sesjami.
Ogólnie jeśli aplikacje mają ze sobą bardzo mocno współpracować to ich rozdzielenie nie jest dobrym pomysłem. Jeśli chodzi tylko to, że czasami pojawia się link z jednej na drugą to nie ma problemu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 09:24 |