Marcin Skurski

Marcin Skurski PHP, MySQL, Oracle,
JavaScript, JQuery,
AJAX, (X)HTML, CS...

Temat: Organizacja struktury aplikacji

Jestem nowy w Symfony2 i na etapie jego poznawania nasuwa mi się parę pytań odnośnie organizacji kodu w bundlach jak i samych bundli dla kilku poziomów funkcjonalności: Front i Admin?

Mam parę koncepcji jak widziałbym strukturę aplikacji (przedstawiam strukturę katalogów relatywnie do src):

Acme (przykładowo)
- CategoryBundle
- - Controller
- - - AdminController
- - - FrontController
- InnyBundle

Moim zdaniem najlepsze rozwiązanie. Zaletą takiego podejścia jest to, że cały moduł związany z kategoriami będziemy mieli zamknięty w jednym bundlu, mamy wspólne Entity dla tabeli Category, CategoryType dla formularza również wspólne.


Front
- CategoryBundle
- - Controller
- - - DefaultController
Admin
- CategoryBundle
- - Controller
- - - DefaultController

Czyli podział aplikacji na 2 podstawowe bundle: Front i Admin. Zaletą jest chociażby to, że można dla Admin ustawić routing bazowy na /admin. Wada jaką widzę to separacja Entity (przy zmianie czegokolwiek w bazie danych musimy wygenerować z bazy nowe entity + form dla Admin i Front co może być trochę kłopotliwe więc to rozwiązanie wydaje mi się bez sensu).

Jakie macie doświadczenia odnośnie organizacji kodu w bundlach, jakie widzicie wady i zalety, może macie jakiś inny sposób na uporządkowanie bundli w aplikacji?
Adam W.

Adam W. senior php
developer, Symfony

Temat: Organizacja struktury aplikacji

pierwszy dobry.
przenosząc bundla do innego serwisu przenosisz wszystko co z nim związane.
po to są bundle.
Krzysztof N.

Krzysztof N. CEO. Aplikacje
internetowe i
mobilne. Symfony,
Zend.

Temat: Organizacja struktury aplikacji

Marcin Skurski:
Jakie macie doświadczenia odnośnie organizacji kodu w bundlach, jakie widzicie wady i zalety, może macie jakiś inny sposób na uporządkowanie bundli w aplikacji?
Proponuję pójście w kierunku podziału według względnie drobnej funkcjonalności, logiki jaką posiadasz. Każda z niechaj będzie odrębnym bundlem. Przykłady:
~ menu
~ stronicowanie
~ upload plików
~ użytkownicy (logowanie, edycja profilu)
~ kategorie, np. kategorie produktów

Dzięki temu możesz je przenosić pomiędzy aplikacjami, wersjonować etc. Oczywiście zakładam, że będą one tak napisane, że będą niezależne i będzie to możliwe.

Następna dyskusja:

Praktyka w Deloitte - podat...




Wyślij zaproszenie do