LamaMASTER
26.05.2006, 20:07:33
Witam,
Przypuśćmy, że mam funkcję, w której chcę korzystać ze wszystkich wcześniej użytych zmiennych. Przy wpisywaniu jej jako listy po przecinku po global trochę by tego było. Czy da się jakoś zrobić tak, żeby zglobalizowało mi w funkcji wszystkie użyte wcześniej zmienne? Coś typu global all; Robiłem już global $_GET, $_POST, ale nie mogę używać i tak nadal wszystkich zmiennych...
mike
26.05.2006, 20:15:14
Nie da się.
Zresztą to któtko mówiąc głupi pomysł. Po co coś takiego robić, po to wprowadzili zasiąg zmiennych, żeby było wygodniej. Więc po co się uwsteczniać?
LamaMASTER
26.05.2006, 20:26:48
No dobra - więc jak mam zwiększyć zasięg zmienny na globalny przy wyłączonym register_globals i tylko dla danej funkcji?
mike
26.05.2006, 20:30:10
Ale po co chcesz to zrobić?
Cóż to za funkcja, która potrzebuje wszystkich zmiennych, jakie się pojawiły?
tomekp
26.05.2006, 20:34:37
Zgadzam się z tym co napisał mike_mech.
Napisz co chcesz osiągnąć to coś wymyślimy
LamaMASTER
26.05.2006, 20:43:39
Otóż problem w tym, że mam zadeklarowanych bardzo dużo zmiennych z całego skryptu, a akurat funkcja ta parsuje system szablonów, który do zwrócenia wyniku potrzebuje wartości wszystkich użytych zmiennych, bo inaczej nic nie zwróci. Musiałbym dodać bardzo dużo tych zmiennych do global, żeby to działało jak trzeba, a w dodatku, gdybym chciał użyć tego systemu w innym skrypcie to też musiałbyml dodawać zmienne z innego skryptu do tej funkcji
dr_bonzo
26.05.2006, 20:47:33
Wrzucenie (trzymanie) wszystkiego do tablicy (i indeksowanie nazwa) ci nie wystarczy?
anopak
26.05.2006, 20:51:19
hmm, może coś takiego:
<?php
foreach($GLOBALS as $var => $value) $$var=$value;
?>
LamaMASTER
26.05.2006, 20:52:29
Cytat
Wrzucenie (trzymanie) wszystkiego do tablicy (i indeksowanie nazwa) ci nie wystarczy?
To nie wchodzi w grę, skrypt jest ogromny.
anopak - sprawdzę to
Neotion
26.05.2006, 21:55:43
$GLOBALS zawiera referencję do samej siebie w środku więc musisz jakoś to obsłuzyć pozatym... Pisałem kiedyś pseudo debugger który zczytywał właśnie w ten sposób zmienne, działa w hermetycznych warunkach ale się wiesza przy większych obiektch i nie chce mi się go debugować póki co. Kiedyś przyjdzie na niego czas

.
--EDIT--
Uznajcie to za OT nie doczytałem posta powyżej, sorka.
anopak
27.05.2006, 08:12:21
a:
<?php
foreach($GLOBALS as $var => $value) $$var=&$GLOBALS[$var];
?>
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.