![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
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! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 10 Dołączył: 16.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ameryka Są frameworki które naprawdę ciężko zmusić do pracy w takiej strukturze projektu. Na Symfony nie pracowałem, co u mnie nie wyklucza jego użycia. Zend Framework byłby dla mnie najlepszym jeśli możliwym. ZF i inne mniejsze z którymi miałem styczność - trudno mi sobie wyobrazić jak zorganizować je do pracy w takiej formie jakiej oczekuje pracodawca. Może wejdźmy w szczegóły. Gdzie widzisz trudności w zorganizowaniu Twojej aplikacji przy użyciu frameworka? Cytat Fajnie jakbyś miał linka do czegoś podobnego (przykłady) co zostało zaprojektowane/opracowane i jest opublikowane w sieci, bo paktycznie zanim dojdę do odpowiedniego podziału bundli, to napiszę własny FW. Bundle są na knpbundles.com. Nie wiem tylko czy ten link Ci się przyda, skoro skłaniasz się ku odkrywaniu Ameryki na nowo. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może wejdźmy w szczegóły. Gdzie widzisz trudności w zorganizowaniu Twojej aplikacji przy użyciu frameworka? Trudności zapewne wynikają z mojej niedostatecznej wiedzy na temat innego wykorzystania niż klasyczna pojedyncza aplikacja wielomodułowa. Np. ZF - aplikacja zbudowana w katalogu głównym podzielonym na moduły, te na odpowiednie modele, widoki, kontrolery etc. Mógłbym część centralną zrealizować w formie bibliotek (vendor) i dołączać do każdej aplikacji (sklepu) - żeby nie kopiować tego samego w wiele miejsc - np. w postaci dowiązań symbolicznych w vendor etc. Tylko w takiej sytuacji jako taki bazowy szkielet aplikacji (router, kontrolery) musi (?) znajdować się w katalogu aplikacji (np. w ZF modules/ ), żeby ZF z index.php mógł odpalić autoloader, dispatchera, config i dalej potrzebne kontrolery itd. ? Na tym etapie nie jestem pewien, czy nie trzeba będzie kopiować wszystkich kontrolerów do modules/ a jedynie z widoków i modeli korzystać jako z biblioteki centralnej np. w vendor/. W tym przypadku byłoby to już utrudnieniem w stosunku do aktualnego rozwiązania, gdzie starczy skopiować index.php do publica i config, a wszelkie inne pliki mogą być ładowane centralnie. Mógłbym też dla każdego sklepu wpakować symlink do defaultowej aplikacji a z kolei modyfikacje tworzyć w formie bibliotek w katalogu głównym aplikacji. Może orientujesz się czy w ZF można zrobić to w takiej formie jak pisze phpion w Kohana'ie, czyli poprzez kaskadowe wczytywanie plików? phpion - do Kohany zajrzałem 2 razy w życiu, więc musiałbym się trochę dokształcić. Alternatywnie Yii, ale tu podobnie jak w ZF mam dylemat jak to prawidłowo rozplanować i napisać. ZF uważam za lepsze rozwiązanie, z uwagi na kraj i zespół. Tak jak pisze m44, po co odkrywać Amerykę. Obstawiam, że ktoś coś podobnego już zrobił i jego dobrą ideę można wykorzystać. Ten post edytował combic 1.06.2013, 17:52:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 12:17 |