Zmiana struktury katalogow

0

Nie jest tajemnica, ze obecnie struktura katalogow w projekcie wyglada tak:

- controller
- model
- module
	- forum
		- controller
		- model
		- template
			- css
			- img
- plugin
- template
	- css
	- img

Moduly rowniez moga zawierac dodatkowe style CSS, JS czy obrazy. Wowczas w kodzie strony dolaczamy je wowczas poprzez: /module/forum/template/css/forum.css. Chcialbym zmienic strukture katalogow, aby publicznie dostepne byly jedynie pliki CSS, JS oraz oczywiscie - obrazy:

- controller
- model
- template
- public
	- css
	- js
	- img
- module

Z tym, ze problemem sa tutaj wtyczki czy moduly, ktore posiadaja CSS-y, ktore nie sa widoczne "na zewnatrz". Nie mam pomyslu jak to rozwiazac. Jedynie rozwiazanie jakie mi przychodzi na mysl, to jakies przekierowanie, tak, aby np. np. zadanie /module/forum/css/forum.css przekierowywalo w rzeczywistosci do pliku CSS, ktory de facto nie jest dostepny publicznie, poniewaz katalog module nie jest dostepny publicznie.

Jakies pomysly?

0

W sumie nie będzie innego wyjścia jak wyrzucenie do public samych statycznych elementów. Zarówno przekierowanie jak i puszczenie ich przez framework sprawi zbyt dużo problemów, a "wyrzucenie" do jednego katalogu w public jest względnie bezbolesne. Oczywiście traci się przez to "integralność" przy projektowaniu, ponieważ w innym katalogu jest php-owska część strony, w innym statyczna, ale nie traci się nad tym kontroli całkowicie. Założenie katalogu module z podkatalogami pozwoliłoby na panowanie nad kodem i tylko niewielką zmianę w kodzie, żeby zapewnić odwołania do nowych ścieżek.

- controller
- model
- template
- public
     + module
          + forum
               - css
               - js
               - img
          + pastebin
               - css
               - js
               - img 
          + template
               - css
               - js
               - img          
     + css
     + js
     + img
     - index.php
- module
0

Hmm, tyle, ze moduly czy pluginy stanowia osobne "klocki", ktore oczywiscie - moga byc wlaczone lub nie. Ich wlaczanie/instalacja odbywa sie w panelu administracyjnym. Mozna oprogramowac dodatkowe czynnosci, ktore maja wystapic po instalacji.

Czyli innymi slowy, instalator modulu kopiowalby pliki CSS/JS do odpowiedniego katalogu public w projekcie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1