Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne tworzenie zmiennych w klasach
Pronigo
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 8.05.2005
Skąd: Gdańsk

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


Wiem zakręciłem już w temacie, ale nie taki diabel straszny... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Piszę pewną klase i w pewnym momecie doszedłem do wniosku, że muszę w trakcie działania skryptu tworzyć nowe zmienne globalne (? - nie wiem czy tak one się nazywają). Czyli zmienne definowane na początku klasy np. var zmienna itp.

Mówiąc krócej, w języku programistów można by to przedstawić tak:

  1. <?php
  2. ...
  3. function stworz_nowa_zmienna($nazwa, $wartosc) {
  4. var ($nazwa) = $wartosc
  5. }
  6. ...
  7. ?>


Chyba rozumiecie o co mi chodzi, po prostu potrzebuje funkcji która bedzie mi tworzyć takie zmienne jakie się definiuje na początku klasy.

Dobrym przykładem może być funkcja mysql_fetch_object która (wg mnie) działa na podobnej zasadzie bo dostęp do wartości zmiennych odbywa się w taki sam sposób w jakim bym chciał: $nazwa->zmienna...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Nie wiem, jak jest w PHP4, ale w PHP5 za to czego potrzebujesz, odpowiada magiczna metoda __call.

Ten post edytował LBO 5.05.2006, 09:46:49
Go to the top of the page
+Quote Post
orson
post
Post #3





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam

bardziej __set i __get a nie __call

pozdriawiam
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Po lekturze tego tematu: jak odczytać automatycznie nazwy pól obiektu? będziesz znał rozwiązanie.
Go to the top of the page
+Quote Post
siemakuba
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


ja w PHP4 do takiego dzialania używam takiej metody:

  1. <?php
  2.  
  3. function set($var, $val)
  4. {
  5. $this->{$var} = $val;
  6. }
  7.  
  8. ?>


zdecydowanie lepiej użyć metody __set , ale to php5. Dla php4 mozesz chyba ja poudawac za pomoca przciążania (overload" title="Zobacz w manualu php" target="_manual).

pozdr.
Go to the top of the page
+Quote Post

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: 24.12.2025 - 14:45