Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][Symfony]Architektura serwisu
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Witam,


tworze projekt w Symfony i mam pytanie odnośnie architektury danego serwisu.

Chcę to zrobić w następujący sposób :

-Front ->
-NewsBundle(tutaj trzymam widoki, kontrolery które będą pytały serwisy o np. newsy)
-Core ->
->NewsBundle ->(tutaj trzymam crudy które operują na serwisach, zapisują,updatetują, usuwają)
-CoreDomain ->
->NewsBundle(tutaj trzymam serwisy,eventy,biblioteki, repozytoria i encje)


Czy to jest dobre podejście do tworzenia architektury czy nie? Coś w tym zmienić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Nie. Po co? Symfony2 ma przecież ładny podział natywny na wszystko.

Kontrolery, Formularze, Serwisy, Encje w obrębie jednego bundla.
Go to the top of the page
+Quote Post
Matrix12
post
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Wydaje mi się, że po mojemu odseparowałbym logikę od frameworka.


P.S W symfony w encji można wybrać typ dla kolumny - obiekt. W takim przypadku zapisuje tam nazwę obiektu czy te pole w bazie wgl się nie pojawi?
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Masz racje, tylko Ci się wydaje.

Jeżeli masz na myśli encję w Doctrine to tak jest taki typ jak object, jest to normalne pole TEXT w bazie MySQL, gdzie obiekt masz serializowany włącznie z nazwą oczywiście.
Go to the top of the page
+Quote Post
Matrix12
post
Post #5





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Z punktu widzenia samego DDD to powinno się odseparować wartwę logiki od całej aplikacji,. Czy mój sposób tego nie robi?
Go to the top of the page
+Quote Post
Xelah
post
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


Pozwolę sobie na jedną drobną uwagę. Rozkład katalogów i klas nie ma kompletnie niczego wspólnego z separation of concerns. Logika biznesowa nie ma prawa mieć nic wspólnego z frameworkeim. To, że w 99 przypadkach na 100 ma nie wynika ze struktury katalogów tylko z podejścia programisty do problemu.

Powiem tak: Nie kombinuj ze strukturą katalogów, bo to jest dosłownie najmniej istotny element całej układanki. Logikę biznesową odseparowuje się od frameworka na różne sposoby, a żaden z nich nie dotyczy się tego gdzie będziesz miał swoje klasy.
Go to the top of the page
+Quote Post
Matrix12
post
Post #7





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Ale z drugiej strony, mamy wszystkie serwisy i encje osobno to raz, dwa można tam trzymać interfejsy dostępne dla wszystkich a nie w kazdym bundlu osobny interface skoro np. wszystkie sewisy będa go wykorzystywały..
Go to the top of the page
+Quote Post
Forti
post
Post #8





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Utrudniasz sobie zycie na siłe.

Zrób tak:


Matric\ServiceBundle:
- wszelkie serwisy które NIE MAJA NIC wspólnego z symfony. Jako parametry in/out nie mogą przyjmować nic z symfony. W 100% przenośne i nie zależne.

Matrix12\CoreBundle:
- encje
- formularze (symfonowe)
- wszelkie komendy etc
- config/service.yml gdzie np. definiujesz serwisy z ServiceBundle (to jest szybszy dostęp do nich w controller wink.gif

Matrix12\WebBundle:
- widoki dla uzytkowników
- kontrollery dla użytkowników

Matrix12\AdminBundle:
- widoki dla panelu administracyjnego
- kontrollery dla panelu administracyjnego


Taki podział jest ładny. Chociaż ja i tak CoreBundle i ServiceBundle łącze w jeden.. i po prostu dla ServiceBundle mam odzielny folder Services.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:43