![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam,
Mam taki kod MainController.php, prosze zwrocic uwage glownie na ostatnia metode setModel() :
No i teraz robie klase dziedziczacą po MainController :
No i chce sie dostac do metody klasy ktora zostala stworzona w MainController->setModel tak jak widac wyzej czyli :
Ale wywala mi blad : [quote] Notice: Undefined property: LoginController::$Model in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 25 Fatal error: Call to a member function connect() on a non-object in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 25 [/php] Jezeli klasa LoginController dziedziczy po klasie MainController to chyba zmienna $this->Model powinna byc w jakis sposob rozpoznawana....jak to poprawic ? No i czy to wogole jest dobre rozwiazanie jesli chodzi o wzorzec MVC ? ![]() -------------------------------------------------------------------------------- Ok, z notice juz sobie poradzilem, wystarczylo zadeklarowac publiczna zmienna $Model Ale zostal jeszcze ten fatal error czyli 'Call to a member function connect() on a non-object...' Ten post edytował Wolfie 5.10.2009, 11:08:53 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A gdzie w LoginController badz MainController masz zadeklarowana właściwość Model? A gdzie w LoginControllerze ustawiasz wartość dla $this->Model ?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Edytowalem w tym samym czasie co Ty pisales, drugie pytanie odnosi sie do fatal error czy do notice ?
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
skoro dostajesz fatala znaczy ze setModel nie zostało wykonane, a na pewnie nie przed tym fatalem. Teraz sobie poszukal dlaczego
setModel() jest wywolywane w dispatch() i to tylko gdy w post jest action. MOze tu lezy problem -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Nie wydaje mi sie,
Zrobilem tak :
No i teraz dostaje takie cos : Cytat Array ( [mailbox] => jakismail@gmail.com [pass] => jakieshaslo [controller] => login [action] => mailbox [Submit] => Zaloguj ) SET MODEL OKlogin Fatal error: Call to a member function connect() on a non-object in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 25 No wiec ewidentnie widac ze set model sie wykonuje poprawnie i to przed fatall errorem.... Ten post edytował Wolfie 5.10.2009, 11:32:34 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A pokaż teraz cały kod, oraz to jak wykonujesz wywołania mailbox i uzyskanie egzemplarza LoginController.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
No wlasnie tak troche inwalidzko zrobione bo przenioslem poprostu czesc kodu ktora wywoluje model do LoginControllera, Main Controller wyglada tak samo tylko bez tej czesci kodu :
A LoginController tez tak samo tylko ze z ta czescia kodu :
Wiec teraz bede musial poprostu w kazdym nowym kontrolerze wywolywac w konstruktorze model, a chcialem to zrobic w MainControllerze zeby nie powtarzac kodu, troche pokombinowalem ale chyba musialbym przebudowac oba i to dosc znacznie wiec zostalem przy tej inwalidzkiej metodzie.....chyba ze masz jakies podpowiedzi ![]() Ten post edytował Wolfie 5.10.2009, 13:48:04 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:48 |