Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Panel administracyjny a mvc
Forum PHP.pl > Forum > PHP
uncuncunc
Stworzyłem prosty framework oparty o mvc, wszytko ładnie pięknie, gra i buczy, mam podział na kilka apliakcji itp. jednak utknąłem przy panelu administracyjnym

Załóżmy że aplikacja "A" ma kontroler "blog" i metodę "dodaj", wczytywana jest jako domyślna więc http://domena.com/ i działa.
Panel administracyjny, to osobna aplikacja pod adresem http://domena.com/panel

I teraz, jak w panelu, który jest osobną aplikacja, "uruchomić" kontroler "blog" i metodę "dodaj" z aplikacji "A"? Aby było coś takiego http://domena.com/panel/blog/dodaj

Mam to załatwić z poziomu routingu? czy a kontrolerze panelu? Jak to jest rozwiązywane u Was lub innych FW?
maniana
Z poziomu routera powinieneś się dowiedzieć o lokalizacji klasy z blogiem. W panelu stwórz sobie klasę która będzie rozszerzeniem klasy blog (extends), zawierające mechanizmy potrzebne w panelu. Najbezpieczniej będzie to zrobić za pomocą klas abstrakcyjnych z mechanizmem implements.
uncuncunc
Spróbuję. Jakby ktoś miał jeszcze jakieś pomysły, to z chęcią wysłucham.
Crozin
Co rozumiesz przez uruchomienie kontrolera i po co w ogóle chcesz to robić?
uncuncunc
Crozin - a jak chcesz uruchomić "coś" co należy do aplikacji, z poziomu panelu?

Routting wygląda mniej więcej tak u mnie, jest oparty o regex:

  1. $route = array('blog/add' => array(
  2. 'controller' => 'blog',
  3. 'action'=>'addCokolwiek')
  4. )


Oczywiście to "blog/add" to tylko przykład. Gdy jest taki link, to uruchamia

  1. $o= new Blog;
  2. $o->addCokolwiek();


A jak wykonać to samo z poziomu panelu, który jest inną aplikacją? Właśnie o to mi chodzi, już nie mam pomysłu i miejsca na kartkach wink.gif Mam w ogóle wywalić klasy/metody dla panelu z aplikacji i umieścić je w np. osobnym katalogu? Tylko jak się w tedy do nich odwoływać? Bo to musi być kompleksowe, np. działać i w aplikacji A, bo np. mam linki po zalogowaniu oraz ma działać w panelu.

Mam wrażenie że rozwiązanie jest bardzo proste, tylko już się za bardzo w tym zamotałem.
Crozin
Ale po co w ogóle w panelu administracyjnym uruchamiać kontroler dodający "cokolwiek" w publicznej części aplikacji? Przecież to dwa zupełnie osobne kontrolery powinny być.
uncuncunc
Fakt. Kontroler panelu, uruchamia jedynie metody aplikacji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.