Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wszystkie zmienne do funkcji, Jak zaimportowac wszystkie zmienne ze skryptu do funkcji?
phoenix84
post
Post #1





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


Jak w temacie...
co zrobic by nie pisac:
  1. function ()
  2. {
  3. global $var;
  4. global $var2;
  5. ...
  6. }


tylko zeby moc korzystac ze wszystkich zmeinnych skryptu?
dobrze by bylo jakby dzialalo rowniez wewnatrz eval ()... bo w sumie liczba linijek zaczynajacych sie od "global" rosnie niemilosiernie smile.gif

pozdrawiam,

k.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli chcesz, by owe zmienne po zakończeniu funkcji były dostępne w reszcie skryptu to czemu ich do niego nie zwrócisz? Nie rozumiem po co ludzie używają globali, skoro można dane wrzucać do funkcji jako parametry (w tym referencje) i zwracać je w dowolnej postaci. Sens globali w takim wypadku staje pod znakiem zapytania. Na dodatek to rozwiązanie jest o niebo bezpieczniejsze niż globale.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
varez
post
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


Cytat
bo w sumie liczba linijek zaczynajacych sie od "global" rosnie niemilosiernie

thek dobrze gada..

jeżeli globale to Twój chleb powszedni to proponuję poczytać jakieś tutoriale [jeszcze raz?]
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat(phoenix84 @ 8.04.2010, 23:12:20 ) *
Jak w temacie...
co zrobic by nie pisac:
  1. function ()
  2. {
  3. global $var;
  4. global $var2;
  5. ...
  6. }


tylko zeby moc korzystac ze wszystkich zmeinnych skryptu?
dobrze by bylo jakby dzialalo rowniez wewnatrz eval ()... bo w sumie liczba linijek zaczynajacych sie od "global" rosnie niemilosiernie smile.gif

pozdrawiam,

k.

Nie twórz funkcji laugh.gif


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
phoenix84
post
Post #5





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


chyba nie wyrazilems sie dosc jasno...

powiedzmy, ze chce wyslac do funkcji 1000 roznych zmiennych... no rozumeim ze powinno sie przez argumenty... ale kto spamieta ich kolejnosc przy wywolywaniu?

caly problem polega na tym, ze duza czesc skryptow mam w mysql (CMS)... no i zeby skorzystac z jakiejs zmiennej to musze uzywac globala... no i w niektorych plikach mam juz ponad 100 linijek z globalami... wszystko fajnie... bo dziala... ale moze istnieje inny sposob... by nie bylo takiego cyrku?

Cytat
Jeśli chcesz, by owe zmienne po zakończeniu funkcji były dostępne w reszcie skryptu to czemu ich do niego nie zwrócisz? Nie rozumiem po co ludzie używają globali, skoro można dane wrzucać do funkcji jako parametry (w tym referencje) i zwracać je w dowolnej postaci. Sens globali w takim wypadku staje pod znakiem zapytania. Na dodatek to rozwiązanie jest o niebo bezpieczniejsze niż globale.


nie zrozumiales... ja nie chce pobrac zmiennej na trasie funkcja->skrypt (choc tez by mi sie przydalo jak zwrocic wiecej niz jeden element biggrin.gif)... ale chce na trasei skrypt->funkcja... bo jedyne znane mi sposoby to parametry lub globale... ale oba maja te wade, ze trzeba kazda zmienna wypisac osobno...

pozdrawiam,

k.
Go to the top of the page
+Quote Post
tehaha
post
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


skoro to aż taka duża ilość to może wsadź te zmienne do tablicy(array) wtedy przekażesz to funkcji jedną tablicę i zwrócisz też jedną tablicę, a operacje będziesz sobie wykonywał w pętli
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli nie znasz liczby parametrów czy większej ilości rzeczy, to najbezpieczniej przepychać do funkcji, oraz wyciągać z niej, obiekt lub tablicę. Widoczne jest jako jeden parametr, ale ma niespończona liczbę elementó składowych. Może to być nawet obiekt/tablica pusty.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
phoenix84
post
Post #8





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


te sposoby znalem... ale i tak nie pomoga... no ale moze to przypadek beznadziejny smile.gif ze po prostu trzeba stawiac te globale

wiekszosc skryptow jest w plikach... no i tam sa setki roznych, przeroznych zmeinnych...

no i teraz czesc skryptow jest z mysql... i one czasem musza po prostu skorzystac ze zmiennych tworzonych wczesniej... w sumie na klasach to nie glupie... ale nie wyobrazam soebi przebudowania teraz wszystkiego od nowa (kilka zdrowych tysiecy linii kodu)... i rosnie (bo to skrypt takiego CMSa na ktorym stoi kilka serwisow, wiec wszystkie by trzeba bylo przebudowac biggrin.gif)... wiec poki co niewykonalne... winksmiley.jpg

szukalem innego sposobu na wciagniecie wszystkich zmiennych jedna komenda, a nie kazdej z osobna... ale jak nie ma to nie ma... winksmiley.jpg

dzieki za pomoc...

k.
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: 22.08.2025 - 09:10