Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da dosegnem promenjive koje su van funkcije?

[es] :: PHP :: Kako da dosegnem promenjive koje su van funkcije?

[ Pregleda: 3615 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
212.200.213.*



+25 Profil

icon Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 01:28 - pre 197 meseci
Kako da dosegnem promenjive koje su van funkcije u funkciji?
Da li postoji neki nacin sem da ih proglasim za Global...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

mb_sa

Član broj: 50529
Poruke: 172
*.PPPoE-791.sa.bih.net.ba.



Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 06:23 - pre 197 meseci
Code:
function Ime ($a) {
global $b;

  retrun $a+$b;

}
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.203.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 09:19 - pre 197 meseci
Ne znam baš da li možeš na neki drugi način. Zašto uopšte želiš da ih ne proglašavaš za global?
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

mb_sa

Član broj: 50529
Poruke: 172
89.146.166.*



Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 13:12 - pre 197 meseci
Ja ne pročitah da traži način izuzev da ih proglasi globalnim varijablama!

Jedino da konstante koristiš :D
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
212.200.213.*



+25 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 17:12 - pre 197 meseci
Citat:
Nemanja Avramović: Ne znam baš da li možeš na neki drugi način. Zašto uopšte želiš da ih ne proglašavaš za global?
Pa,ako bi kasnije koristio klase... promenjiva bi bila vidljiva svuda a ne samo u klasi...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

afwt
AF Web Team
Novi Sad/Chicago

Član broj: 8220
Poruke: 337
*.dsl.chcgil.sbcglobal.net.

Sajt: milos.srdjevic.net/blog


+1 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 18:24 - pre 197 meseci
Ovo radi odakle god hoces:
$GLOBALS['mojaVarijabla'] = 'neka vrednost';
dakle, i ovo isto:
echo $GLOBALS['mojaVarijabla'];

Praktican primer:

Code:

<?php
function x() {$GLOBALS['mojaVarijabla'] = 'neka vrednost';}
function y() {echo $GLOBALS['mojaVarijabla'];}

x();
y();
?>

ZelenaLutrija.com - Saznajte sve o lutriji za zelenu kartu (doživotni boravak u Sjedinjenim Američkim Državama)
 
Odgovor na temu

Skaarj
Novi Sad

Član broj: 21463
Poruke: 365
79.101.144.*



+3 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?21.01.2008. u 19:24 - pre 197 meseci
^
I ovo je niz globalnih varijabli. Ne mozes da uradis ono sto si zamislio tj neces bas tako lako preci sa funkcija na klase. Ako zelis klase, promenljive definisane u okviru klase su vidljive funkcijama koje su u okviru te klase. Ako nema klasa onda je global resenje za razmenu ili da varijablu prenosis kroz parametar funkcije.

Ukratko po pitanju klase to bi bilo ovako:

Code:
class Pera {
 private $ime;

 function __construct($ime) {
     $this->ime=$ime;
 }
 
 function printIme(){
   echo $this->ime;
 }

}



[Ovu poruku je menjao Nemanja Avramović dana 21.01.2008. u 23:42 GMT+1]
 
Odgovor na temu

b0ris
Boris Vujicic
Senior PHP programer
Beograd

Član broj: 126587
Poruke: 158
213.244.236.*



+2 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?22.01.2008. u 17:34 - pre 197 meseci
Malo ti je zahtev cudan mora da priznam. Da prelazis sa funkcija na klase. Zasto odma nebi pravio klase?
Inace nije jedini nacin je da definises globalnu promenljivu. Mozes da napravis funkciju koja ce da ti vraca te promenljive, pa da unutar svoje funkcije pozivas tu funkciju. Na slican nacin je u ATK uradjeno pozivanje config promenljivih, koristi se getConfig("ime promenljive") funkcija.
Skini kod pa pregledaj kako to radi ;)
http://www.achievo.org/atk
---------------------------------------------------------------------
Just do it.
 
Odgovor na temu

mjerkov
Mladen Jerkov
Novi Sad

Član broj: 170066
Poruke: 13
*.net.



+1 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?27.01.2008. u 19:57 - pre 197 meseci
Pa standardno kao u svim programskim jezicima....definisi promenljive kao globalne izvan zagrada bilo koje funkcije...


$var1 // Globalna promenljiva

function test1()
{
.....
}
function test2()
{
.....
}
just follow the white rabbit
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.108.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?27.01.2008. u 20:23 - pre 197 meseci
Hajde Mladene pojasni malo ovaj tvoj primer do kraja, jer se bojim da ce ispasti pogresan.
Neces moci pozvati promenjivu unutar funkcije samo ako si je definisao "izvan zagrada".
 
Odgovor na temu

holodoc1701

Član broj: 45446
Poruke: 48
*.eunet.yu.



Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?03.02.2008. u 00:10 - pre 197 meseci
Moj predlog se možda učini malo radikalnim ali ako ti je potrebno da prevaziđeš ograničenja stateless protokola kakav je HTTP zašto ne bi iskoristio prednosti sesionih promenjljivih. Sesione promenjljive su zato i napravljene zar ne? :)

Dakle, umesto dodeljivanja globalnog scope-a bilo kojoj promenjljivoj lepo se na početku skripte aktivira sesija i po potrebi rade sve manipulacije sa sesionim promenjljivama koje se smeštaju na serveru i koje su vidljive u kompletnom skriptu :)

Na taj način developer ne mora da razmišlja o tome koje su mu promenjljive trenutno vidljive u kom delu koda već je sve lepo i uredno smešteno u $_SESSION superpromenljivu :)
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.108.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?03.02.2008. u 01:32 - pre 197 meseci
Pa sad ako cemo po definicijama, nije bas tako...
Kako pise u manualu:
Citat:

Session support in PHP consists of a way to preserve certain data across subsequent accesses. This enables you to build more customized applications and increase the appeal of your web site.

uz upozorenje
Citat:

Some types of data can not be serialized thus stored in sessions. It includes resource variables or objects with circular references (i.e. objects which passes a reference to itself to another object).

Sto ukratko ukazuje da se u sesiji cuvaju podatci pojedinacnog korisnika, kako bi se lakse personalizovala aplikacija. Podatci kao sto su: username, trenutni jezik, mozda sadrzaj shoping karte, interna navigacija, poslednja pretraga, paginacija, broj rekorda po stranici paginacije, itd. Znaci podatci koji su direktno vezani za odredjenog korisnika, ne za samu aplikaciju. Tako je recimo neprikladno (a i nesigurno) smestiti objekat koji radi sa bazom u sesiju, samo da bi bio dostupan svim funkcijama i metodama. U vecini slucajeva se sesija cuva u fajlu, i opet u vecini slucajeva je taj fajl u sherovanom folderu na shared hostingu, pa bi otkrivanje nekog ovakvog fajla sa serijalizovanim objektom konekcije na bazu dovelo do ozbiljnog propusta. Takodje se objekti cuvaju u memoriji, dok je sesija opet, cesto u fajlu ili u bazi, sto je nepotrebno zauzimanje resursa.
Bas je iz tih razloga i kreirana superglobalna promenjiva $GLOBALS
Citat:

An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.

This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. You don't need to do a global $GLOBALS; to access it within functions or methods.

Sto znaci da se ovde smestaju reference ka promenjivama, ne pravi se kopija promenjive kao sto je to slucaj sa sesijom, sto itekako cuva resurse, pogotovo sa velikim objektima koji nisu direktno povezani sa pojedinacnim korisnikom.

A uvek postoji mogucnost da je korisnik iskljucio cookies, tako da potpuno oslanjanje na sesiju u ovom slucaju pada u vodu
 
Odgovor na temu

holodoc1701

Član broj: 45446
Poruke: 48
*.eunet.yu.



Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?03.02.2008. u 02:37 - pre 197 meseci
@dakipro
Zato sam i napomenuo da je rešenje malo radikalno pošto je globalno definisanje promenjljive već odbačeno u samom startu a $GLOBALS super promenjljiva već pomenuta pa rekoh ajde da pomenem i sesije kao opciju

Što se tiče $GLOBALS superpromenljive ni ona nije bez mana. Uopšte svaki pristup programiranju u kome se kod oslanja na proglašavanje nečega da je "vidljivo" na globalnom nivou je loš. Evo jednog interesantnog članka koji ukratko objašnjava najznačajnije kritične tačke $GLOBALS niza kao i razloge gde i kada ga ne treba koristiti Iskreno, lično je nikada nisam koristio do sada

http://www.hardened-php.net/globals-problem
 
Odgovor na temu

b0ris
Boris Vujicic
Senior PHP programer
Beograd

Član broj: 126587
Poruke: 158
91.148.112.*



+2 Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?04.02.2008. u 07:36 - pre 197 meseci
Interesantan clanak.
Doduse ne mora da brinemo o toj kompatibilnosti (php4 - php5) buduci da je php4 od nove godine istorija ;)
inace svidja mi se primer iz clanka.
---------------------------------------------------------------------
Just do it.
 
Odgovor na temu

holodoc1701

Član broj: 45446
Poruke: 48
*.eunet.yu.



Profil

icon Re: Kako da dosegnem promenjive koje su van funkcije?05.02.2008. u 17:19 - pre 197 meseci
Citat:
b0ris: Interesantan clanak.
Doduse ne mora da brinemo o toj kompatibilnosti (php4 - php5) buduci da je php4 od nove godine istorija
inace svidja mi se primer iz clanka.

Da ali činjenica da nešto nije više oficijelno podržano od strane proizvođača ne znači da se isto to neće još dugo vrteti na serverima
 
Odgovor na temu

[es] :: PHP :: Kako da dosegnem promenjive koje su van funkcije?

[ Pregleda: 3615 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.