Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Fatal error: Call to undefined method i omija metodę __get
kabanek
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 25.06.2009
Skąd: Nowy Sącz

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


witam, mam taką oto klasę

  1. class Kcms_Model_Db extends Zend_Db_Table_Abstract {
  2. public function __get($name) {
  3.  
  4. var_dump($this->_cols);
  5.  
  6. if (isset ($this->$name)) {
  7. return $this->name;
  8. }
  9.  
  10. throw new Exception("Value $name not found");
  11. }
  12. }


i później używam ją w ten sposób:

  1. $user = new Kcms_Model_Db();
  2. $user->getUsername();


no i w tym problem, że nie jest wywoływana metoda __get tylko dostaję komunikat:
Cytat
Fatal error: Call to undefined method Kcms_Model_Db::getUsername()


co robię źle?
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Ale tworząc taką funkcję __get() przeciążasz operator wyłuskania ->. Czyli dla Twojej klasy miałbyś:
  1. class Kcms_Model_Db extends Zend_Db_Table_Abstract {
  2. public function __get($name) {
  3.  
  4. var_dump($this->_cols);
  5.  
  6. if (isset ($this->$name)) {
  7. return $this->name;
  8. }
  9.  
  10. throw new Exception("Value $name not found");
  11. }
  12. }
  13.  
  14. $user = new Kcms_Model_Db();
  15. $user->username;

Oczywiście to username musi zostać wcześniej ustawione np. za pomocą odpowiedniej funkcji __set().
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
no i w tym problem, że nie jest wywoływana metoda __get tylko dostaję komunikat:

Eeeee, nie __get, tylko __call. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kabanek
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 25.06.2009
Skąd: Nowy Sącz

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


macie rację smile.gif

dzięki, myślałem, że to działa trochę inaczej
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 Aktualny czas: 21.08.2025 - 14:25