Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]OOP, Kohana - Jak odwołać się do metody z innego kontrolera?
Forum PHP.pl > Forum > Przedszkole
adrianpl20
Witam. Piszę stronę z pomocą framework'a Kohana. W kontrolerze z "Aktualnościami" użytkownika chcę pobrać i wyświetlić mu posty. Post składa się z: avatar + nick + treść + kategorie (lista rozwijana). W innym kontrolerze, np. grupy czy profil uzytkownika także będę musiał wyświetlić posty. Aby nie pisać kodu kilka razy i nie zaśmiecać głównego kontrolera (Aktualnosci) chciałem przenieść odpowiednie metody do pasujących kontrolerów. Np. pobranie kategorii do postu chciałem umieścić w kontrolerze 'Posts' (będzie możliwość podglądu postu, więc ten kontroler się do tego przyda później), ale wyświetla mi błąd, zapewne nie można nawet tak tego robić. Czy jest możliwość odwołania się do metody w innym kontrolerze?

oto kod:
  1. $controller_Posts = new Controller_Posts;
  2. $array_categories = $controller_Posts->get_categories_list();


i oto błąd:
Cytat
ErrorException [ Recoverable Error ]: Argument 1 passed to Kohana_Controller::__construct() must be an instance of Request, none given, called in C:\xxx\application\classes\Controller\Newsfeed.php on line 118 and defined


// edit
Aha i żeby ktoś nie pomyślał, że ta metoda powinna być w Modelu. Oczywiście jest metoda w modelu pobierająca z pliku listę kategorii, ale ta metoda z Kontrolera odwołuje się do Modelu, bo jeszcze kategorie potrzebują obróbki i dlatego nie ma funkcji stąd bezpośrednio do Modelu.
Turson
Pobieranie kategorii powinno odbywać się w modelu a nie kontrolerze.
skowron-line
Jezeli dobrze pamietam to musisz to zrobic przez
  1. Request::factory('controller:action')
adrianpl20
dodałem edit ws. tego modelu
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.