![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pytanie, jak wy rozwiązaliście w Zendzie problem Panelu Administacyjnego ? W Kohanie miałem zrobione tak że Controllery od backendu miałem ładnie w folderze backend i wchodziło się do nich poprzez adres: http://strona.pl/backend/news I mogłem ładnie sobie szybko i prosto dodawać nowe moduły poprzez stworzenie nowego pliku w folderze backEnd ... Wydawało mi się to bardzo wygodnym rozwiązaniem. Natomiast teraz przesiadłem się na Zenda i mam problem z subfolderami. Jak wygląda sprawa controllerów w subfolderach ? Może macie jakieś inne ciekawe rozwiązania co do PA ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zend ma określoną konwencję nazewniczą klas (która ułatwia zlokalizowanie odpowiedniego pliku), a autoloader i odpowiednia konfiguracja w głównym Bootstrapie załatwiają sprawę. Nie odpowiem Ci konkretnie na Twoje pytanie, bo nie wiem czy masz w projekcie zastosowaną budowę modułową?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
No wlasnie jestem na etapie teoretycznego projektowania aplikacji chciałbym zapytać o wasze propozycje
Myśle aby rozwiązać to w ten sposób ze controllery od backendu trzymam w osobnym folderze: - Controllers (katalog) -- IndexContoller -- ArticlesController --- backend (katalog) ---- IndexContoller ---- ArticlesController No i jak widać w folderze Controllers mam controllery od frontendu i katalog backend w którym beda controllery od wlasnie administracji. Rozwiazanie wydaje mi sie o tyle fajne ze każdy moduł ma swój osobny Controller, model i widok wiec w przyszłości mozna szybko i prosto rozbudować aplikacje poprzez stworzenie odpowiednich plików i uaktywnienia modułu w bazie. Jakie plusy i minusy ma taka koncepcja ? Moze macie jakieś lepsze pomysły ? P.S przepraszam jeżeli zbytnio zszedlem z tematu Ten post edytował Damiankossek 8.03.2011, 11:29:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
-public
-library -app --layouts --plugins --configs --modules ---default ----controllers ----views ----models ---backend ----controllers ----views ----models ---inny_modul ----controllers ----views ----models --Bootstrap.php ja używam takiej struktury Ten post edytował pgrzelka 8.03.2011, 12:25:55 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Też już zrobiłem taki podział (IMG:style_emoticons/default/smile.gif) Fajnie to wszystko działa, miałem małe problemy z instalacją Zend Toola na Mac OS ale sobie poradziłem tymi komendami:
sudo pear channel-discover pear.zfcampus.org sudo pear install zfcampus/zf-devel Źródło: http://raphaelstolt.blogspot.com/2009/01/i...n-mac-os-x.html Ten post edytował Damiankossek 8.03.2011, 23:57:32 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja wszystkie akcję związane z artykułami wrzucam do jednego kontrolera, nie robię podziałów na admin/backend etc.
Dzięki temu wszystko jest w jednym miejscu i nie trzeba nigdzie szukać (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja preferuje podzial poniewaz latwiej we wszystkim sie polapac, a tym bardziej budowa modulowa. Wszystkim bardziej i lepiej da sie zarzadzac a juz nie mowie o prostocie rozszerzania aplikacji ... (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście jest budowa modułowa (IMG:style_emoticons/default/wink.gif)
Nie wrzucam wszystkich rzeczy do /app/controllers (IMG:style_emoticons/default/tongue.gif) -app -- [...] -- app/modules --- article ---- controllers ---- controllers/IndexController - głównie CRUD ---- controller/TagsController - tagi ---- controller/CosinnegoController - inne rzeczy związane z artykułami --- user ---- controllers ---- controllers/IndexController - CRUD ---- controllers/AclController - zarządzanie uprawnieniami etc etc |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
A no to tak (IMG:style_emoticons/default/smile.gif) Myślałem że wszystko pakujesz do app/controllers (IMG:style_emoticons/default/wink.gif) A możesz powiesz jak radzisz sobie z routingiem ?
Bo linki w stylu http://strona/articles/index/show/id/1 nie są za przyjemne (IMG:style_emoticons/default/smile.gif) Wolałbym to skrócić na styl http://strona.pl/articles,show,id,1 A zależy mi właśnie na budowie modułowej, bo gdybym wszystko pakował do defaulta to problemu nie ma (IMG:style_emoticons/default/smile.gif) Ale każdy moduł = osobny folder. A tworzenie osobnego Controllera dla jednej metody mija się z celem no ale właściwie ... (IMG:style_emoticons/default/smile.gif) Ten post edytował Damiankossek 10.03.2011, 16:27:31 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod dość stary ale powinien działać (sporadycznie zdarza mi się używać innego routingu) link wygląda tak: example.com/to_jest_jakis_tytul_artykulu-a20 a20, to ID=20 (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 8 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
No wszystko śmiga ładnie, napisałem sobie w bootstrapie metodę która pobiera routes z zewnętrznego pliku (IMG:style_emoticons/default/smile.gif)
application/modules/articles/boot.php a w nim mam metodę buildRoutes i która ułatwia mi zarządzanie linkami, bezpotrzeby majstowania w bootstrapie (IMG:style_emoticons/default/smile.gif) Dzięki ! Ten post edytował Damiankossek 10.03.2011, 21:15:36 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Z Zendem jest właśnie ten problem, że nie ma stałego układu struktury plików (i najprawdopodobniej z założenia nigdy nie będzie). Co więcej, każdy projekt ma inną strukturę i czasami trudno się do pewnych rzeczy przyzwyczaić. Jedyne, co można znaleźć na ten temat, to konwencjonalna struktura folderów w projektach o budowie modułowej:
-docroot/ --index.php -application/ --default/ ---controllers/ ----IndexController.php ----FooController.php ---models/ ----views/ -----scripts/ ------index/ ------foo/ -----helpers/ -----filters/ --blog/ ---controllers/ ----IndexController.php ---models/ ---views/ ----scripts/ -----index/ ----helpers/ ----filters/ --news/ ---controllers/ ----IndexController.php ----ListController.php ---models/ ---views/ ----scripts/ -----index/ -----list/ ----helpers/ ----filters/ Ten post edytował darko 18.03.2011, 16:39:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 07:39 |