Witam.
Szukam najlepszego rozwiązania do realizacji projektu. Generalnie chodzi o realizację nowej wersji istniejącej aplikacji.
Aktualna wersja jest śmietnikiem strukturalno-proceduralnym, który dostałem w spadku po ex-programistach i mam za zadanie zbudować nową wersję, obiektową.
Aplikacja to e-commerce - sklepy online, 30 bramek płatności, integracja z amazon, ebay, CMS itp.
Nowa powinna z założenia być tak elastyczna jak bieżące rozwiązanie, które po krótce wygląda tak:
- centralny "framework" - wszelkie możliwe do wykorzystania moduły i funkcjonalności systemu,
- około 500 aplikacji klientów (sklepów), które posiadają własne configi, bazy danych, layouty, FTP, lokalne dokumenty, pliki, zdjęcia etc.
- każda z aplikacji includuje wszystko co jest niezbędne i określone w configu z centralnego frameworka,
- każda z aplikacji może nadpisać lokalnie dowolną z funkcji/klas/modułów poprzez stworzenie lokalnej kopii plików i modyfikowanie ich do woli lub dodawanie nowych funkcjonalności.
Tak więc zaletą istniejącego systemu jest duża elastyczność, możliwość dostosowania wszystkiego do specjalnych wymagań klienta. Niestety setki wad i problemy z rozbudową, tysiące bugów, itp skłoniły firmę do inwestycji w nową wersję OOP.
Moje pytanie do ciebie, czy w takim projekcie jest sens bazować na jednym z istniejących frameworków (ZF, SF albo inny) a jeśli tak, to który z nich twoim zdaniem jest na tyle elastyczny, że da się go wykorzystać w podobnej strukturze?
Na tyle na ile znam i korzystałem z frameworków PHP, to zawsze była to pojedyncza aplikacja - wszystkie pliki projektu lokalnie.
Tutaj trzeba zrobić pliki wszystkich modułów i funkcjonalności dostępne w centralnym frameworku i kilkaset aplikacji z opcją nadpisania wybranych klas lub całych modułów lokalnie.
Naprostsze wydaje mi się zrealizowanie własnego frameworka, ale może się mylę i szybciej będzie skorzytać z gotowych rozwiązań poprzez jakieś proste fixy/konfiguracje. Może spotkałeś się online z propozycją struktury dla podobnych projektów lub wprost - z przykładową realizacją/podobnym rozwiązaniem?
Dzięki za wszelką pomoc.
Pozdrawiam!