Larges
8.06.2008, 21:33:40
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?
nitro18
8.06.2008, 21:45:47
a to:
<?php
function news()
{
}
?>
albo
<?php
function news()
{
//
$rekl=reklama;
}
?>
sowiq
8.06.2008, 22:43:38
Jest jeszcze inne wyjście - superglobalna tablica $_GLOBALS, jednak trochę mniej wygodna w używaniu.
nithajasz
8.06.2008, 22:52:51
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..
Larges
19.06.2008, 18:18:20
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ąć ;/
erix
19.06.2008, 18:42:42
Dni konstrukcji global są policzone. Polecam zainteresowanie się wzorcem Registry:
http://www.strefaphp.net/artykul59.html
Mozna tez $_SESSION[cus]
czesto z tego korzystam
erix
20.06.2008, 12:56:28
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...).
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.