Struktura katalogów w aplikacji www 2007-01-03

Każdy z nas staje z czasem nad problemem jak miałaby wyglądać struktura katalogów aplikacji www. Jedno z moich pierwszych podejść to był podział na trzy części:

aplikacja/ - skrypty php
www/ - obrazki, szablony, style
framework/ - silnik z bibliotekami, na którym opiera się aplikacja

Z czasem stał się on nie wystarczalny, każdy z trzech katalogów prosił się o wyizolowanie jakiejś części.

I tak np. katalog aplikacja zawierał wygenerowany cache. Po pierwsze to nie jest część aplikacji, a twór dynamiczny. Jeśli chcemy przenieść naszą aplikację w inne miejsce to najlepiej cały katalog przenieść, ale po co dodatkowo przenosić dynamicznie wygenerowane pliki.

Dalej patrząc można by wyciągnąć skrypty instalacyjne. Używa się tego tylko raz, a dodatkowo bardzo często spotykałem zalecenie ich usunięcia po przejściu wszystkich kroków. No i pora na dokumentację... element, który jest jakby omówieniem całości danej aplikacji i wyodrębnienie go z folderu aplikacja wydaje mi się bardzo rozsądnym posunięciem.

Podobna sprawa ma się z www. Umieszczałem tam wgrywane pliki przez przeglądarkę - zdjęcia, dokumenty, a przecież znów to nie jest część naszego szkieletu aplikacji. Utrudnia nam to przenoszenie strony w inne miejsce bo czasem nie chcemy kopiować GB danych.

Ostatnia część to nasz framework, który ostatecznie rozbiłem na dwie części. Szkielet właściwy aplikacji oraz biblioteki, które są rozwijane niezależnie.

Na ostateczną propozycję mojej struktury miały więc głównie względy praktyczne.

aplikacja/ - skrypty php, ustawienia
www/ - szablony, obrazki, style
multimedia/ - wgrane zdjęcia, filmy, dokumenty
framework/ - silnik aplikacji
biblioteki/ - bibilioteki, z których korzystamy w aplikacji
pamiec/ - dynamicznie tworzone pliki cache
dokumentacja/ - co i jak w aplikacji
instalacja/ - skrypty instalacyjne, w tym struktura bazy danych

A jak to wygląda u Was? :)

Projektowanie, aplikacja, framework, katalogi, skrypt, struktura, artykuł, blog

Słowa kluczowe: Projektowanie, aplikacja, framework, katalogi, skrypt, struktura, artykuł, blog

Komentarze i opinie
xardas
2007-01-03 20:03

app/
FRAMEWORK/
cache/

;-)
app/nazwaaplikacji/actions/nazwaakcji.php
app/nazwaaplikacji/nazwaaplikacji.php
and so on...
FRAMEWORK/[libs/core/util/classes/db/etc]/*.php
cache/[sql/tpl/other]/*.cache

2007-01-05 02:39

templates/ - szablony
classes/ - klasy
functions/ - funkcje
pages/ - pliki z treścią/klasami podstron
files/ - pliki przeznaczone dla klienta
+ katalogi smarty, adodb i inne
application.php - głowna klasa aplikacji
index.php - plik sterujący

Ziell
2007-01-11 16:40

errors/ logi błędów, plik z funkcją error_handler
includes/ klasy i funkcje
modules/ moduły
templates/ szablony
other/ inne rzeczy typu zadania cron'a

xmik
2007-02-13 16:16

.bin/ - konsolowy frontend dla tools (patrz nizej)
appcore/ - silnik
config/ - konfiguracja
docs/ - dokumentacja kodu
logs/ - logi
models/ - :>
tools/ - narzedzia frameworka
views/ - ;> [:

Pozdrawiam

web dev
2008-08-04 01:57

|--img
|--inc
configure
functions
|--plugins
|--plugin_name1
plugin_file1
plugin_file2
|--plugin_name2
plugin_file1
plugin_file2
|--classes
class1.class
class2.class
class3.class
|--languages
polish
english
|--tpl
template1.tpl
template2.tpl
|--blocks
file1.block
file2.block
index

Pomysł własny - wyszło w miarę pisania coraz większych aplikacji :D

Nowy komentarz
 
 
Projektowanie i tworzenie stron www w PHP5. Opisy i recenzje oprogramowania typu cms, blog, wiki, open source.