Witam,
Mam nadzieje, że temat ten nadaje się do php Pro, wszak chodzi o wydajność i strategie tworzenia, a nie konkretny problem.
Przyjmijmy, że chodzi o CMS/Sklep internetowy sprzedawany konkretnym firmą. Jaki sposób pisania go jest lepszy:
1. Sposób
Każda firma ma swój katalog, w którym znajdują się skrypty obsługujące ich CMS wraz z modułami. Mamy tu doczynienia z sytuacją, gdzie dla każdego klienta jest przeznaczony katalog w którym jest jego kopia CMSa. Kopie się od siebie niczym nie róznią, każda ma wszystkie możliwe moduły, o tym z których modułów sklep może korzystać decydują dane w bazie danych.
Np.
/firma_xxx/index.php
/firma_yyy/index.php
/firma_zzz/index.php
itd. (katalogi konkretnych firm mają też podkatalogi z jądrem skryptu, modułami itd.)
2. Sposób
Jest tylko jeden skrypt CMS wraz z modułami w katalogu głównym, który na postawie wpisanego adresu url (np. domena.pl lub jakieś subdomeny), decyduje, której firmy stronę otworzyć.
Np.
/index.php
Które rozwiązanie jest wydajniejsze, mniej obciążające serwer.
I podobny problem dla bazy danych:
1. Sposób
jest jedna baza danych z tabelami poprzedzonymi prefixem dla konkretnych firm. np.
sklep_users
sklep_product
sklep_client
mechanik_users
mechanik_product
mechanik_client
2. Dla każdego klienta zakładana jest oddzielna baza.
baza mechnik: tebele users, product, client
Przy założeniu, że poszczególne firmy nie będą przechowywywać masy informacji w tabelach.
Średnio 1000 do max. kilku tysięcy rekordów w każdej z tabel.