Biblioteka PHP

Dyskusja: Wiele kontrolerów

Serwis poświęcony programowaniu w PHP z wykorzystaniem frameworka Code Igniter oraz narzędzi jak XDebug.

DonQuijote88 napisał: 11 Lipiec 2008, godzina 22:47
  • Witam! Po długim czasie wakacji od CI, wracam do pracy. Tym razem mam pytanie do eksperta:nice: czy, a jeśli tak to w jaki sposób, można w witrynie opartej na CI korzystać z wielu kontrolerów. Chodzi mi o to, że mam główny kontroler spinający wszystko do kupy i pomocnicze np. obsługa błędów, artykułów, menu, etc. próbuję to robić na zasadzie require_once(); ale coś jest nie tak z przypisaniem do zmiennej $this. Chyba coś nie wiem. Prosze o radę
riklaunim napisał: 11 Lipiec 2008, godzina 22:47
  • 1 kontrol = 1 funkcjonalność. Wprowadź po prostu coś w rodzaju dziedziczenia szablonów, tak jak w moich przykładach gdzie mam szablon główny, do którego wstawiam zawartość z danego widoku i wyświetlam :)
DonQuijote88 napisał: 11 Lipiec 2008, godzina 22:47
  • Czy dobrze rozumiem? Masz na myśli, aby "połączyć" funkcjonalność owych kontrolerów dopiero w warstwie widoków? Chyba czegoś nie rozumiem:omg:
riklaunim napisał: 11 Lipiec 2008, godzina 22:47
  • jeden kontroler - jedna metoda to jeden widok i jedna funkcjonalność - np. "dodaj artykuł" a nie "dodaj, wyświetl, usuń artykuł" :)
DonQuijote88 napisał: 11 Lipiec 2008, godzina 22:47
  • Rozumiem:nice: tylko że mnie chodzi o coś innego. Mam na przykład kontroler obsługujący galerię: KGaleria i w nim metody: wyswietlListeGalerii(), wyswietlListeGaleriiZObrazkiem() itp. ale w tych metodach podczas wykonania sprawdzam czy są jakieś błędy za pomocą if-ów i jeśli są to wywołuję metodę wyswietlBlad() z kontrolera KBlad, którego instancja jest wcześniej przypisana do zmiennej: $this->kblad = new KBlad; a sam plik tegoż kontrolera wczytywany za pomocą require_once() jeszcze przed deklaracją klasy KGaleria. I teraz sytuacja wygląda tak, że wszystko jest pięknie dopóki KGaleria nie odwołuje się do modelu MGaleria. Wówczas wyskakuje błąd, że KGaleria::mgaleria no such property. A przecież piszę w kodzie definicję tej własności(property) i jak wyłączy się kontroler KBlad to wszystko jest ok. czyżby CI nie przewidywał takiej kombinacji, gdy najprościej mówiąc w ciele jednego kontrolera odwołujemy sie do innego?
riklaunim napisał: 11 Lipiec 2008, godzina 22:47
  • nazwaklasy::nazwametody() a nie nazwaklasy::nazwazmiennej


Nie możesz dodawać nowych Tematów
Nie możesz dodawać nowych postów
Nie jesteś moderatorem