Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Framework MVC, dziwny problem z Controllerem
Forum PHP.pl > Forum > PHP > Object-oriented programming
in5ane
Witajcie, mam dziwny problem z kontrolerem głównym, który komunikuje się z widokiem głównym. Wyrzuca mi error:
Kod
( ! ) Fatal error: Call to a member function set() on a non-object in C:\wamp\www\Framework\System\Core\Controller.php on line 27
To samo mam z funkcją render(). Kod frameworka znajduje się na Githubie pod adresem: https://github.com/jakubkubera/Framework/. Z góry dzięki za zerknięcie na mój problem.
com
próbujesz wywołać metodę set() nie na obiekcie, przecież masz wszystko napisane w błędzie, jak na twój poziom to przedszkolny błąd wink.gif
in5ane
Troszkę się zamotałem. No tyle to wiem, ale przecież w konstruktorze utworzyłem obiekt, czyż nie? Możesz podpowiedzieć/pomóc?
Spawnm
Sprawdzałeś co jest w $this->view?
Daj var_dump w controller::set
in5ane
Kod
null
Ale dlaczego? ohmy.gif

@edit: również pod zmiennymi $this->controller i $this->method nic nie ma.

@edit2: gdy zrobiłem tak:
  1. public function set($name, $value)
  2. {
  3. $o = new View($this->controller, $this->method);
  4. $o->set($name, $value);
  5. }
to działa, ale nie w tym rzecz, nie ma chyba potrzeby tworzyć ten sam obiekt w każdej metodzie, powinno działać z konstruktora chyba, nie?
destroyerr
Skoro go nadpisałeś to czemu miałby zostać wywołany konstruktor z rodzica?
in5ane
Racja, racja, racja. Dziękuję za pomoc. Ale mam pytanie, gdybym jednak jakiś konstruktor chciał umieścić w danym kontrolerze (np. załadować jakiś helper czy jakiś szczególny model) to jak mam to zrobić?
Spawnm
parent::__construct()

Naucz się oop i popracuj w obecnych frameworkach, bo wyraźnie widać że brak ci podstawowej wiedzy wink.gif
com
sory ale bylem afk, ale widzę już sobie poradziłeś i tak jak napisał Spawnm odnosisz się do rodzica, warto czasem studiować manuala, http://php.net/manual/en/keyword.parent.php nawet jak się jest dość biegłym w temacie, zresztą to zapewne dobrze wiesz...
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.