Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Framework MVC, dziwny problem z Controllerem, Nie widzi metod?
in5ane
post 15.09.2013, 17:03:26
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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.


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
com
post 15.09.2013, 17:24:27
Post #2





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
in5ane
post 15.09.2013, 17:32:18
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Troszkę się zamotałem. No tyle to wiem, ale przecież w konstruktorze utworzyłem obiekt, czyż nie? Możesz podpowiedzieć/pomóc?


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Spawnm
post 15.09.2013, 18:19:33
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Sprawdzałeś co jest w $this->view?
Daj var_dump w controller::set
Go to the top of the page
+Quote Post
in5ane
post 15.09.2013, 19:17:57
Post #5





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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?

Ten post edytował in5ane 15.09.2013, 19:22:46


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
destroyerr
post 15.09.2013, 19:26:57
Post #6





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Skoro go nadpisałeś to czemu miałby zostać wywołany konstruktor z rodzica?
Go to the top of the page
+Quote Post
in5ane
post 15.09.2013, 19:29:44
Post #7





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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ć?


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Spawnm
post 15.09.2013, 20:02:16
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




parent::__construct()

Naucz się oop i popracuj w obecnych frameworkach, bo wyraźnie widać że brak ci podstawowej wiedzy wink.gif
Go to the top of the page
+Quote Post
com
post 15.09.2013, 21:08:41
Post #9





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 05:21