Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie aplikacji internetowej
Forum PHP.pl > Inne > Hydepark
thomas2411
Witam

Na pracę mgr będę tworzył aplikację do zarządzania projektami. Chciałbym, aby aplikacja była stworzona tak, aby nie było problemów z późniejszym dodawaniem i edytowaniem różnego rodzaju pól.
Np
Stworzę sobie moduł PRACOWNICY gdzie będą pola IMIE, NAZWISKO,ADRES,NIP itd. Chciałbym, aby była możliwość żeby po jakimś czasie można było spokojnie dodać nowe pola tego typu, edytować inne itd, czyli żeby działało to na takiej zasadzie jak CMS na stronach www, gdzie dodaje się nowe działy menu, podstrony itd.
Jak wykonać taką architekturę? (będę to programował w AJAXie)
Czy zrobić to wszystko na bazie danych i dodać moduł konfiguracji, który bedzie dodawał bądź edytował bazę?
Czy stworzyć to na plikach z plikiem config, gdzie będzie określone jakie pola są itd, czy jakoś to połączyć?
Ma ktoś może doświadczenie w czymś takim? Proszę o sugestie.
athabus
Hmm... wiesz wszystko zależy chyba od rodzaju danych i ich powiązań... nie ma chyba jednego uniwersalnego modelu jak to zrobić.

Generalnie zasada jest taka aby były możliwe jakieś relacje. Dajmy na to jak robisz sklep i produkty mają mieć n różnych cech, które dla różnych produktów mogą występować w różnej ilości itp to robisz to np. tak (w dużym uproszczeniu oczywiście)

Tabla produktów
id | nazwa | cena|

Tabela cech
|id produktu | nazwa cechy | wartosc cechy

a potem już łączysz to sobie odpowiednim zapytaniem.

Oczywiście warto zadbać o to aby cechy były w różnych kategoriach, i żeby miały jakieś zakresy dopuszczalnych wartości itp itd. Np. kolejną tabelę z typami danych i dopuszczalnymi wartościami.
Ale ogólnie w dużym uproszczeniu tak to działa.

Jeśli zastanawiasz się jak to działa w cms'ach to pobierz jakiś i zobacz... w końcu to Open Source.

Co do plików, w tak złożonym systemie, z wieloma relacjami to jest moim zdaniem komplikowaniem sobie życia. Oczywiście jest to znowu generalizowanie, bo w niektórych sytuacjach plik konfiguracyjny jest jak najbardziej na miejscu.
thomas2411
Dzięki athabus za odpowiedź smile.gif
To właśnie będzie oparte na takich modułach (powiązanych relacjami). Oczywiście będą tam odpowiednie pola i tak dalej. Nie wiem tylko jak to zrobić, żeby potem to sobie zmieniać, ale chyba po prostu zrobię taki panel coś jak CMS, który będzie się łączył z bazą danych i listował wszystkie pola, które będzie można zmieniać, usuwać bądź dodawać nowe. Gdyby miał ktoś jakieś inne propozycje to bardzo proszę o dzieleniu się tym. Planuję też zrobić jakiegoś bloga gdzie będę opisywał co i jak robiłem, a nóż się komuś przyda. Znacie jakieś fajne blogi tematyczne? Czy po prostu zrobić na swojej stronie jakiś, co o tym myślicie?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.