Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie parametrów funkcji w klasie
Eldiane
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 6.01.2011
Skąd: Sosnowiec

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


Mam pewien problem, mam oto takie dwie funkcje w klasie:
  1. public $przyciski = array('TWORZENIE_STRONY_OBIEKTY.php', 'Button2', 'Button3', 'Button4');
  2.  
  3. public function SprURL($przyciski)
  4. {
  5. for($i=0; count($przyciski) >= $i ; $i++)
  6. {
  7. if(strstr($_SERVER['PHP_SELF'], $przyciski[$i]))
  8. {
  9. $Przycisk_on = $przyciski[$i];
  10. return $Przycisk_on;
  11. }
  12. }
  13. }
  14.  
  15. public function lewe_menu($przyciski)
  16. {
  17. ?>
  18. <table valign="top" border="1" width="100%">
  19. <?php
  20. for($i=0; count($this->przyciski) > $i ; $i++)
  21. {
  22. ?>
  23. <tr>
  24. <td align="center">
  25. <?php
  26. if($this->SprURL($przyciski) == $this->przyciski[$i])
  27. echo $przycisk_on;
  28. else
  29. echo "<a href=\"http://localhost\">".$this->przyciski[$i]."</a>";
  30. ?>
  31. </td>
  32. </tr>
  33. <?php
  34. }
  35. ?>
  36. </table>
  37. <?php
  38. }


Funkcja pierwsza SprURL($przyciski) powinna zwrócić jeden parametr (return $Przycisk_on). Dlaczego gdy wywołam ją w innej funkcji (chodzi tutaj o konstrukcje if, $this->SprURL($przyciski) == $this->przyciski[$i]) nie wysyła tego parametru, już późno być może mózg wysiada ;P ale nie wiem dlaczego tak jest, gdy funkcję zadeklaruje bez klasy wszystko jest OK, zostaje zwrócona wartość, dlaczego natomiast w klasie jest zupełnie inaczej?

Z góry dziękuje
Eldiane
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Eldiane
post
Post #2





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 6.01.2011
Skąd: Sosnowiec

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


Dzięki wszystkim za pomoc, jeżeli wystąpią jeszcze jakieś problemy to się zgłoszę =]

//Edit użyłem funkcji strpos, ponieważ przeczytałem że działa ona troszeczkę szybciej od strstr, zawsze lepiej nauczyć się dobrych nawyków, teraz wszystko (chyba) działa już poprawnie, chodź wskazówki byłyby mile widziane (IMG:style_emoticons/default/smile.gif)

//Edit
Kolejna poprawka, nie chce robić nowych postów więc staram się wciskać wszystkie prace jakie dokonam w jednym temacie, dopóki nie zrobię tego dobrze. Teraz kolejne pytanie - jak nadać wartość zmiennym $przyciski public $przyciski_rek?

$Obiekt = new Strona();
$Obiekt->przyciski = array('Button1', 'Button2')
$Obiekt->przyciski_rek = array('Reklama1', 'Reklama2')

Nie daje pożądanego rezultatu, gdy napisze tak jak wyżej wartość zmiennej $tablica w funkcji URL jest wartością NULL (IMG:style_emoticons/default/thumbsdownsmileyanim.gif)

A oto sam kod:

  1. class Strona(){
  2. public $przyciski = array('Button1', 'Button2');
  3. public $przyciski_rek = array('Reklama1', 'Reklama2');
  4.  
  5. private function URL($tablica)
  6. {
  7. for($i=0; count($tablica) > $i ; $i++)
  8. {
  9. ?>
  10. <tr>
  11. <td align="center">
  12. <?php
  13. $link_true = strpos($_SERVER['PHP_SELF'],$tablica[$i]);
  14. if(!($link_true === false))
  15. echo $tablica[$i];
  16. else
  17. echo "<a href=\"http://localhost/Tworzenie_strony_obiekty/".$tablica[$i].".php\">".$tablica[$i]."</a>";
  18. ?>
  19. </td>
  20. </tr>
  21. <?php
  22. }
  23. }
  24.  
  25. public function lewe_menu($przyciski)
  26. {
  27. ?>
  28. <table valign="top" border="1" width="100%">
  29. <?php
  30. $przyciski = $this->przyciski;
  31. $this->URL($przyciski);
  32. ?>
  33. </table>
  34. <?php
  35. }
  36.  
  37. public function prawe_menu($przyciski_rek)
  38. {
  39. ?>
  40. <table valign="top" border="1" width="100%">
  41. <?php
  42. $przyciski_rek = $this->przyciski_rek;
  43. $this->URL($przyciski_rek)
  44. ?>
  45. </table>
  46. <?php
  47. }
  48. }


Z góry dziękuje.
Eldiane

Ten post edytował Eldiane 16.08.2011, 16:41:44
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 19:49