Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Implementacja panelu administracyjnego przy MVC
jajcarzd1
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Witam

Chciałbym Was prosić o zdanie jak u Was to wygląda. Otóż mam swojego frameworka który zbudowany jest mniej wiecej w oparciu o schemat MVC. Aplikacja w katalogu app ma podkatalolgi controllers, models, helpers itd. Podoba struktura jest w katalogu system. Coś podobnie jak w kohanie. Ale mniejsza z tym pytanie moje brzmi w jaki sposób budujcie panel administracyjny do danej aplikacji opierając się o ten schemat. W chwili obecnej mam coś w stylu małego b2b, aplikacja wymaga zalogowania, więc prawdopodobnie zrobię tak, że jeśli logujący będzie miał rolę 'admin' to pokażą się dodatkowe zasoby dostepne dla niego w menu przy zachowaniu tego samego layoutu. Natomiast kontrolery, modele itd będa wrzucane do tych samych katalogów co dla innych userów. Ale zastanawia mnie sytuacja taka gdy będę chciał zrobić w oparciu o ten schemat np. cms-a lub tym podobne gdzie frontend i backend będzie zupełnie inny i nie powiązany.

Czy wtedy robicie np katalog admin w a nim powielacie to samo co dla frontendu czyli np katalogi

Kod
app
- controller
- models
..
cache
config
public
system
templates
....


a potem w routerze dajcie jakieś datkowe reguły które przy wykryciu linku postaci np

Kod
http://project/admin/order/index


odpalają kontroler order z akcja index ?

czy może robicie tak że np. w takiej konfiguracji katalogów

Kod
app
- controller
   - admin
- models
..- admin
....


dodajcie w podlatalogu controllers, models itp np podlatalog admin a w nim dopiero kontrolery, modele i inne pliki administracyjne aby dokonac rozdziału funkcjonalnego ? Tylko że tu jest problem zmiany już np. autoloaderów wszystkich plików bo są inne lokaliazje i szereg innych spraw jak np. to że jest ten sam frontcontroller, bootstrap (coś jak w zendzie) który będzie mi odpalał akcje niekoniecznie potrzebne dla administracji, odpalane jakieś dodatkowe viewHelpery itp.

Generalnie chyba wiadomo o co mi chodzi, chciałbym usłyszeć Wasze zdanie i sugestie
Będe wdzieczny za info pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ja sobie przerobiłem Kohanę tak, że może bez problemy pracować z użyciem wielu aplikacji. Najistotniejszą zmianą było dodanie kolejnego "poziomu" w kaskadowej strukturze katalogów. Przykładowo: domyślnie Kohana pobiera dane konfiguracje z system/config/plik.php, dołącza application/config/plik.php. Ja dołożyłem jeszcze jeden poziom czyli dołączenie application/config/frontend/plik.php.

Podobne podkatalogi tworzę dla kontrolerów, widoków, logów... Jedynie modele są wspólne. Można rozważyć podział i modeli, ale na chwilę obecną nie było mi to potrzebne (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jajcarzd1
post
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 7.07.2010, 14:04:29 ) *
Podobne podkatalogi tworzę dla kontrolerów, widoków, logów... Jedynie modele są wspólne. Można rozważyć podział i modeli, ale na chwilę obecną nie było mi to potrzebne (IMG:style_emoticons/default/smile.gif)


Hmm czyli bardziej musiałbym się skłaniać do mojej drugiej propozycji, czyli podkatalogi np. admin w poszególnych katalogach. Dodanie ścieżek 'admin' do autoloaderów. Jeśli chodzi o templaki to używam smarty i w katalogu templates mam taki podział (coś ja kw zendzie):


Kod
layouts
partials
scripts
- cart
   index.tpl
- order
   add.tpl
   edit.tpl


czy ewentualnie zrobić podatalog admin w templates i powielić tą samą strukturę czy może jakoś inaczej ? Choć inaczej za bardzo tego nie widzę.

A jak rozwiązałeś kwestię routera i generowanych linków ? Dodałeś przed kontrolerem np. admin ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 09:57