Mam tendencję do dzielenia kontrolerów na podstawie ich odpowiedzialności na konkretną sekcję witryny/aplikacji. Dzięki temu utrzymanie kodu jest o wiele łatwiejsze. Ponadto I grupuje kontrolerów (i widoki, modele) w ramach modułów (folderów). Oto przykład z bieżącego projektu pracuję nad:
- Blog
- Posty
- Komentarze
- Kategorie
- Ustawienia
Im bardziej złożona strona, tym więcej modułów jest używanych. Chociaż większość moich modułów zawiera tylko jeden kontroler "indeksu", podoba mi się organizacja, którą zapewniają.
Następnie używam routera (kontrolera frontowego), który odwzorowuje identyfikator URI stylu REST na odpowiedni moduł/kontroler/akcję. Na przykład: mysite.com/blog/posts/view/7 wywołałoby Controller_Posts :: view (7) z modułu "blog". Dodatkową zaletą korzystania z modułów jest to, że mogę mieć bardziej szczegółowe identyfikatory URI niż wtedy, gdy nie mam modułów. Chociaż przypuszczam, że można to naprawić, używając routera, który obsługuje definiowanie niestandardowych tras, ale nie przepadam za tym.
Tak wiele innych rzeczy sprowadza się do tego, z czym czujesz się wygodnie jako programista, ale prawdopodobnie możemy się zgodzić, że masz więcej organizacji, tym lepiej, jeśli nie komplikujesz się .
Na marginesie, polecam zajrzeć do korzystania z ramy. Rozumiem, jeśli nie chcesz już używać jednego z nich, ponieważ również tego unikałem. Skończyłem pisać własne, które przez ostatni rok służyły mi bardzo dobrze. To było wspaniałe doświadczenie edukacyjne i zawiera tylko to, czego potrzebuje/potrzebuje. Biorąc to pod uwagę, możesz chcieć zajrzeć do Kohany i CakePHP - nie są one zbyt rozdętymi IMO i na pewno zaoszczędzą ci czasu, jeśli zdecydujesz się nie pisać własnego.
Dlaczego chcesz uniknąć ram? Podczas gdy niektóre z nich są restrykcyjne (zrób to w ten sposób lub będziesz musiał je zhackować na śmierć), niektóre z nich są dość elastyczne (wybierz i wybierz to, co chcesz). –
cóż, przede wszystkim chcę tego uniknąć, ponieważ mam swobodę i czas na wdrożenie własnych, i naprawdę chciałbym mieć gruntowne doświadczenie z jednym, zanim zacznę korzystać z frameworka. także ... nie chcę więcej niż potrzebuję, ogólnie rzecz biorąc – johnnietheblack