Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]jak zwiększyć zasięg zmiennej?
Larges
post 8.06.2008, 21:33:40
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


Witam, mam zdefiniowaną zmienną $reklama w fukcji news();
Chciałbym wykorzystać tą zmienną poza funkcją. Próbowałem zrobić global $reklama; ale nie wiem dokładnie jak to zrobić - nie działało. Jak można wywołać zmienną poza franizami funkcji?


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
nitro18
post 8.06.2008, 21:45:47
Post #2





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


a to:

  1. <?php
  2. function news()
  3. {
  4. global $reklama
  5.  
  6.  
  7. }
  8. ?>



albo

  1. <?php
  2. function news()
  3. {
  4. global $rekl;
  5.  
  6. //
  7.  
  8. $rekl=reklama;
  9. }
  10. ?>
Powód edycji: dodałem bbCode (ociu)
Go to the top of the page
+Quote Post
sowiq
post 8.06.2008, 22:43:38
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Jest jeszcze inne wyjście - superglobalna tablica $_GLOBALS, jednak trochę mniej wygodna w używaniu.
Go to the top of the page
+Quote Post
nithajasz
post 8.06.2008, 22:52:51
Post #4





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


Cytat(sowiq @ 8.06.2008, 23:43:38 ) *
Jest jeszcze inne wyjście - superglobalna tablica $_GLOBALS, jednak trochę mniej wygodna w używaniu.


function g($param){
return $_GLOBALS[$param];
}

i już łatwiej.. smile.gif
Go to the top of the page
+Quote Post
Larges
post 19.06.2008, 18:18:20
Post #5





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


Z przykrością muszę wrócić do wątku. Nie wiem czemu, ale nie mogę zwiększyć zasięgu zmiennej poprzez stosowanie polecenia global. Zmienną mam zdefiniowaną w funkcji i tam też nadaję jej większy zasięg poprzez global. Niestety nie mogę odczytać jej wartości poza tą funkcją. Jak zatem zrobić to w inny sposób? Widzę coś o $_GLOBALS, ale dość skrótowo, przez co nie potrafię tego pojąć ;/


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
erix
post 19.06.2008, 18:42:42
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dni konstrukcji global są policzone. Polecam zainteresowanie się wzorcem Registry: http://www.strefaphp.net/artykul59.html


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-gox-
post 19.06.2008, 20:12:39
Post #7





Goście







Mozna tez $_SESSION[cus]
czesto z tego korzystam
Go to the top of the page
+Quote Post
erix
post 20.06.2008, 12:56:28
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale nielogiczne. Sesja chyba jest przypisana do danych użytkownika, które mają być obecne przez czas całej wizyty, nie?

A po co tam pakować zmienną, którą wykorzystasz tylko do przeliczenia czegoś, JEDEN raz? Przecież niepotrzebna sesja, to tylko zmarnowany czas (trzeba wysłać ciasteczko/SID, zapisać gdzieś dane...).


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 15.06.2025 - 19:22