Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Coś typu global all; w funkcji
LamaMASTER
post
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


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...
Go to the top of the page
+Quote Post
mike
post
Post #2





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

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


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ć?
Go to the top of the page
+Quote Post
LamaMASTER
post
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


No dobra - więc jak mam zwiększyć zasięg zmienny na globalny przy wyłączonym register_globals i tylko dla danej funkcji?
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%)
-----


Ale po co chcesz to zrobić?
Cóż to za funkcja, która potrzebuje wszystkich zmiennych, jakie się pojawiły?
Go to the top of the page
+Quote Post
tomekp
post
Post #5





Grupa: Zarejestrowani
Postów: 171
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Krakół

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


Zgadzam się z tym co napisał mike_mech.
Napisz co chcesz osiągnąć to coś wymyślimy winksmiley.jpg


--------------------
escape from the execution is futile.
Go to the top of the page
+Quote Post
LamaMASTER
post
Post #6





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


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 sad.gif
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Wrzucenie (trzymanie) wszystkiego do tablicy (i indeksowanie nazwa) ci nie wystarczy?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
anopak
post
Post #8





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.10.2004
Skąd: Rybnik

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


hmm, może coś takiego:

  1. <?php
  2. foreach($GLOBALS as $var => $value) $$var=$value;
  3. ?>


--------------------
Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox
Go to the top of the page
+Quote Post
LamaMASTER
post
Post #9





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


Cytat
Wrzucenie (trzymanie) wszystkiego do tablicy (i indeksowanie nazwa) ci nie wystarczy?

To nie wchodzi w grę, skrypt jest ogromny.

anopak - sprawdzę to winksmiley.jpg
Go to the top of the page
+Quote Post
Neotion
post
Post #10





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 13.09.2004

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


$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 tongue.gif.

--EDIT--
Uznajcie to za OT nie doczytałem posta powyżej, sorka.

Ten post edytował Neotion 26.05.2006, 21:57:07


--------------------
current: nexcite cms (0.2.5) running on top of netsource framework (0.5.3)

workbench: nsapi | php 5.1.2 | mysql 5.0.18 | phpmyadmin 2.9 rc1 | zend studio 5.2.0 | apache/2.2.0 (linux/suse)
Go to the top of the page
+Quote Post
anopak
post
Post #11





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.10.2004
Skąd: Rybnik

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


a:

  1. <?php
  2. foreach($GLOBALS as $var => $value) $$var=&$GLOBALS[$var];
  3. ?>


--------------------
Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox
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 Aktualny czas: 20.08.2025 - 10:04