Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazywanie zmiennych między metodami
Forum PHP.pl > Forum > Przedszkole
-suchy-
Witam. Najpierw kod:
  1. <?php
  2.  
  3. class controller
  4. {
  5. function _construct(){}
  6.  
  7. var $urlTextArray=array(); 
  8. var $pageFileArray=array(); 
  9. var $dataFromUrl=array(); 
  10.  
  11.  
  12. function setPage($urlText, $pageFile)
  13. {
  14. $urlTextArray[]=$urlText;
  15. $pageFileArray[]=$pageFile;
  16.  
  17. }
  18.  
  19. function getPage()
  20. {
  21.  
  22. $url=$_SERVER['REQUEST_URI'];
  23. $dataFromUrl=explode("/", $url);
  24.  
  25. if($dataFromUrl[0]=="")
  26. {
  27. array_shift($dataFromUrl);
  28. }
  29.  
  30. $przyklad=$urlTextArray[0];
  31. print($przyklad);
  32. }
  33.  
  34.  
  35.  
  36. }
  37.  
  38. ?>


Prosta klasa :-) niestety na serwerze nie ma php5. Otóż gdy stworze obiekt na podstawie tej klasy wypelniam dwie talbice jakimims ciagiem znakow (w domysle ma sie to tyczyć fragmentów adresu) $urlTextArray i $pageFileArray za pomocą metody setPage. Jak mam sięodwołać do tych zmiennych z metody getPage? kod, który podałem wyżej nie wypisuje $przyklad. Co zrobiłem źle?
Heweliusz
Cytat
W metodach pojawia się słowo kluczowe $this, jest to referencja do obiektu, używamy jej, aby dobrać się do składowej (zmiennej czy metody) z wewnątrz klasy. Używamy jej tak samo jak innych obiektów na zewnątrz klasy - wykorzystując operator "strzałki" (->) . Po niej może nastąpić nazwa metody, którą chcemy wywołać lub właściwości, której wartość chcemy zmienić lub pobrać.

U ciebie wygląda to tak:
  1. <?php
  2. function getPage()
  3. {
  4. $url=$_SERVER['REQUEST_URI'];
  5. $dataFromUrl=explode("/", $url);
  6.  
  7. if($dataFromUrl[0] == "")
  8. {
  9. array_shift($dataFromUrl);
  10. }
  11.  print($this->urlTextArray['0']);
  12. }
  13. ?>

Polecam artykuł o programowaniu obiektowym. Z tego arta pochodzi też cytat.
-suchy-
już tego probowałem ale też nie działa. z artykułem z przyjemnością się zaznajomie
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.