Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Architektura z Encjami bez ORM
szczrzcz
post 24.11.2018, 09:44:00
Post #1





Grupa: Zarejestrowani
Postów: 153
Pomógł: 0
Dołączył: 20.04.2017
Skąd: Warszawa

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


Jak zaplanować architekturę projektu (Symfony) bez ORM?
Projekt bez zaplanowanej architektury:
1. Kontroler odbiera dane z ogromnego formularza, i wywołuje procedurę z setką parametrów. 200 linijek paskudnego kodu.
Założenie poprawionej architektury:
1. tworzę encje dla danych, odzwierciedlające tabele bazy. Model
2. Tworzę bogate klasy serwisów 10 tabel==10 serwisów.
Kod
$productManager->createNewProduct($product; ...)

3. Ma być czysto w kontrolerach

Taka sytuacja z życia powodująca problem:
Frontend: Formularz z 100 pól, podzielonego na 10 zakładek i na każdej zakładce przycisk zapisz. Z każdej zakładki wysyłam porcję danych do zapisu. Dane z formularza powiązane są z 5 tabelami bazy. Każda porcja danych z kolejnych zakładek formularza zawiera częściowe dane wszystkich 5 tabel.
Backend: Tworzę procedury dla każdej akcji zapisz. Każda procedura ma do zapisania 5-20 pól dla 1-5 tabel
Problem: Stworzyłem klasy Model dla tabel bazy. Odbieram w kontrolerze dane z formularza. Wypełniam danymi klasy Model. Przesyłam do klasy Menadżera (w której jest procedura) instancje klas Model. I nagle się okazuje że w kontrolerze muszę poupychać danymi encje (setName, setAge, setXX) tylko po to by w menadżerze te dane odebrać (getName, getAge, getXX) i przekazać procedurze. Ani to ładniejsze ani przydatne. I co jeśli procedura ma wstawiać dane do 5 tabel, gdzie taką procedurę umieścić (Menadżer)?
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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 10:28