Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Pakowanie do tablicy tego co zwróci __get()
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Witam,


Mam sobie klasę :

  1. class Window extends CreateExtObj {
  2.  
  3. function __construct(){
  4. parent::setExtObjName();
  5. $this->atrybut = 500;
  6. $this->atrybut1 = 100;
  7. }
  8.  
  9. protected $aFields = array ();
  10.  
  11. /*
  12.   function __construct($array) {
  13.   $this->aFields = $array;
  14.   }
  15.   */
  16. public function __set($sName, $sValue) {
  17. $this->aFields[$sName] = $sValue;
  18. }
  19.  
  20. public function __get($sName) {
  21. if(array_key_exists($sName, $this->aFields)) {
  22. print_r($this->aFields);
  23. return $this->aFields[$sName];
  24. } else {
  25. throw new Exception ('Field '.$sName.' doesn\'t exist!');
  26. }
  27. }
  28.  
  29. }


Która dziedziczy po innej klasie. I teraz chciałbym przekazać tablicę $this->aFields która jest tworzona w funkcji __get() do funkcji odziedziczonej która wygląda tak :

  1. function setExtObjParams($array) {
  2. $this->extObjParams = $array;
  3. }



Czy da się wogólę taki myk zrobić ?
No bo rozumiem że funkcja __get() coś zwraca ale nie mam pojęcia jak dalej tym zarządzać......

bo jak robie coś takiego :
  1. try {
  2. $window = new Window;
  3. $window->setExtObjParams(__get());
  4. $window->render();
  5. } catch (Exception $e) {
  6. echo 'Błąd: ', $e->getMessage(), "\n";
  7. }


To wywala mi błąd że funkcja __get jest undefined , no ale to magiczna funkcja więc nie wiem jak mam pobrać to co zwraca, chodzi mi o to żeby zapakować do tablicy to co zwróci __get() i przekazać to do funkcji setExtObjParams($array);

Serdecznie proszę o pomoc smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


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 - 04:19