Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie zmiennych
Forum PHP.pl > Forum > Przedszkole
slimboj
Witam,
Mam bardzo głupi problem z jednym skryptem. Stworzyłem jedną klasę, która wyświetla okno, które zawsze jest takie samo, ale jego zawartość zmienia się w zależności od podanego parametru. Parametr jest przekazywany z poza klasy, czyli przy tworzeniu obiektu do konstruktora, a z konstruktora do kolejnej funkcji. No i mam problem z przekazaniem tego parametru z konstruktora do funkcji.
  1. <?php
  2. class window
  3. {
  4. public $i;
  5. public function __construct($i)
  6.  {
  7.   echo("<div class=\"window\">
  8.          <img src=\"images/menu_bar_");
  9.          $this -> select($i);
  10.   echo(".gif\"><br />
  11.         </div><br />");
  12.  }
  13. public function select($sel)
  14.  {
  15.   if($i==1)
  16.    {
  17.     $sel=$i;
  18.    }
  19.   elseif($i==2)
  20.    {
  21.     $sel=$i;
  22.    }
  23.   else
  24.    {
  25.     echo("Nie ma takiego okna");
  26.    }
  27.  }
  28. }
  29.  
  30. $okno = new window(2); //Tu wpisuję parametr.
  31. ?>
Maxik
Mieszasz PHP4 z PHP5, jeśli chcesz używać konstruktora w PHP4 to funkcja musi mieć taką samą nazwę jak klasa, w Twoim przypadku window.
slimboj
Klasa jest stworzona pod PHP5, właśnie dzięki funkcji __construct() .
Z resztą bez względu czy nazywa się __construct() czy window() efekt jest ten sam, parametr $i nie jest przekazywany do metody select().
Maxik
Cytat
Klasa jest stworzona pod PHP5


A gdzie private/public/protected przy funkcjach i zmiennej?
slimboj
Już się poprawiłem, co nie zmienia faktu, że nadal zmienna nie jest dalej przekazywana.
pyro
Cytat(Maxik @ 23.10.2008, 23:24:46 ) *
A gdzie private/public/protected przy funkcjach i zmiennej?


jesli nie są podane to domyślnie jest public
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.