![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki phpion (IMG:style_emoticons/default/winksmiley.jpg)
ale chodziło mi o rozwiązanie jakie zastosował jajcarzd1 do budowy menu ,ale z tego co podałeś to również wnioskuje ze to następuje przez pobranie struktury katalogów oraz plików w app (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował gothye 8.07.2010, 13:20:37 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Dzięki phpion (IMG:style_emoticons/default/winksmiley.jpg) ale chodziło mi o rozwiązanie jakie zastosował jajcarzd1 do budowy menu ,ale z tego co podałeś to również wnioskuje ze to następuje przez pobranie struktury katalogów oraz plików w app (IMG:style_emoticons/default/winksmiley.jpg) No ja nie jadę na kohanie tylko mówię o swoim własnym rozwiązaniu (IMG:style_emoticons/default/smile.gif) więc trudno cokolwiek mi tu polecać. Pytanie nie było skierowane do mnie, ale odpowiem: wystarczy, że dla każdej "aplikacji" będziesz miał osobny front controller. Ja stosuję taką strukturę katalogów: Kod --public_html ----admin ------index.php // front controller dla admina ----index.php // front controller dla sekcji użytkowej Konieczna będzie ingerencja w $config['site_domain'] w application/config/config.php - musisz ją dynamicznie modyfikować w zależności od aplikacji. Najprościej w każdym z front controllerów utworzyć jakąś stałą np. APPNAME (o wartości np. frontend lub backend), a potem skorzystać z warunku:
Hmm czyli mówisz że wszędzie dodawałeś podkatalogi dla backendu dlla kontrolerów, widoków itp. ale jeśli chodzi własnie o sterowanie to mówisz że masz osobny frontcontroller ? Teraz się tak właśnie zastanawiam czy nie zrobić tego w ten sposób że mojej strukturze nie dodać jednak katalogu admin z osobnym plikiem index.php i będzie ona wyglądać tak: Kod - admin index.php -app - controllers - helpers - models class.bootstrap.php -cache -config -libraries -public -system -templates -templates_c index.php i w nim będe odpalał drugi plik froncontroller-a dla panelu administracyjnego. Tylko się zastanawiam czy dodawać dodatkowe katalogi w ten sposób (czyli osobny admin dla kazdego katalogu): Kod - app - controllers - admin - helpers - admin - models - admin a może w ten sposób: Kod -app - admin - controllers - models - helpers - controllers - helpers - models albo jednak w ogóle stworzyć osobny katalog app w katalogu admin: Kod - admin -app - controllers - helpers - models class.bootstrap.php index.php -app - controllers - helpers - models class.bootstrap.php -cache -config -libraries -public -system -templates -templates_c index.php z osobnym bootstrapem gdzie inicjuję sobie różne rzeczy plus może osobny templates, config. Sam już nie wiem na co się zdecydować Ten post edytował jajcarzd1 9.07.2010, 08:06:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 02:11 |