15. 11. 2005. | #21 | |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
Citat:
__________________
Commercial-Free !!! Poslednja izmena od degojs : 15. 11. 2005. u 13:56. |
|
15. 11. 2005. | #22 | |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
Citat:
Za rešenje ovog problema dovoljno je imati klasu sa statičkim poljima, singlton je nebitan u toj priči.
__________________
Commercial-Free !!! Poslednja izmena od degojs : 15. 11. 2005. u 13:58. |
|
15. 11. 2005. | #23 | |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Citat:
|
|
15. 11. 2005. | #24 |
Goran Pilipović
Sir Write-a-Lot
|
Izvninjavam se, ja sam ubacio $ ispred, moja greska. Ali to je nebitno za pricu, zar ne? Moze dalje? Da li moze objasnjenje zasto je toliko vazan singleton ovde.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! Poslednja izmena od dinke : 17. 11. 2005. u 17:39. |
15. 11. 2005. | #25 |
novi član
Datum učlanjenja: 15.11.2005
Poruke: 1
Hvala: 0
0 "Hvala" u 0 poruka
|
Ma najmanji je problem u definiciji, a veći u korišćenju.
Zašto bi koristio singleton klasu za nekakve globalne promenljive? Ja nisam nikad koristio PHP, ali evo gledam primer na PHP sajtu, tačno ono što sam napisao pre - statička polja u klasi i kraj priče. Zašto bi sad ovo čovek komplikovao dalje singltonom? Šta propuštam? Kôd:
class Foo { public static $my_static = 'foo'; } ... print Foo::$my_static . "\n"; Dalje, ShoppingCart koji je singleton - šta se dešava kad imaš 10 posetioca na sajtu, a singleton svima daje referencu na jedan objekt? Zato sam i tražio da Ilija pokaže neki primer.. pa da vidimo. Šta propuštam i ovde? O.T. @bluesman ili ko već ima mogućnosti: da prijavim da neće da mi pošalje password na mail (javi samo Bad Request sa servera)? Evo me na poslu, zaboravio sam koji je pass, pa sam morao da kreiram novi, ovaj, nalog :-) Poslednja izmena od degojs_ : 15. 11. 2005. u 16:09. |
15. 11. 2005. | #26 | |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Citat:
|
|
15. 11. 2005. | #27 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
Pazi,
nemaš ti šta da kažeš "ta jedinstvenost se gleda na nivou.." To je pogrešno. To je restrikcija koju ti sad uvodiš, a singleton to nigde ne navodi. Ili imaš max samo jedan objekt date klase ili možeš da instanciraš više objekata. Prosto. Bar ja tako vidim singleton, a daću ti i primer pravog singletona Primer singletona bi bio objekt koji radi sa log fajlom, a svi posetioci na sajtu imaju referencu na jedan te isti objekt. Vidiš, nema nikakvog posmatranja "na nivou.." - svi posetioci imaju referencu na jedan te isti objekt, koga i treba da bude samo jedan. Drugi primer.. evo sad mi pade na pamet - samo jedan COM1 port, pa onda samo jedan printer spooler objekt, itd itd. Kako god okreneš, ne štima nešto. Ako je svaka instanca ShoppingCart-a zasebna za sesiju, onda to ili nije singleton ili ti singleton d.p. uopšte ne treba, a ako imaš pravi singleton, onda ćeš doći u situaciju da ShoppingCart bude deljen između posetioca, zar ne? Voleo bih da Ilija lepo stavi primer koda koji on koristi (ShoppingCart a la singleton), što sam i tražio, pa da pogledamo.
__________________
Commercial-Free !!! Poslednja izmena od degojs : 15. 11. 2005. u 20:18. |
15. 11. 2005. | #28 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Evo primera Singletona u php5:
PHP kôd:
|
15. 11. 2005. | #29 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
E dobro, pitanje je sad: da li je instanca objekta deljena među posetiocima (različitim sesijama), pošto se referenca na nju čuva u statičkom polju?
Ako jeste, ne možemo da koristimo takav ShoppingCart jer će da nastane zbrka - svi će da koriste isti objekt, a ako nije --- šta će nam uopšte singleton (te se slažem sa, čini mi se imenjakom, noviKorisnik)? Ajd, vi tamo svi imate php pa možete lako da proverite da li su statička polja klasa deljena među sesijama.
__________________
Commercial-Free !!! Poslednja izmena od degojs : 15. 11. 2005. u 21:06. |
15. 11. 2005. | #30 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Pa nisu. Život PHP objekta najduže traje koliko izvršenje skripte. Najčešće kao rezultat toga bude stranica prema klijentu. Privid perzistencije objekta je čuvanje objekta u sesiji i restauracija pri sledećem pozivu skripte. Sesija naravno ide po korisniku, nije deljena.
Ako neka vrednost treba da bude globalna na nivou sajta, za sve posetioce, čuvaće se u bazi ili u fajl sistemu. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
JavaScript Templates, u Smarty fazonu... | Ilija Studen | (X)HTML, JavaScript, DHTML, XML, CSS | 5 | 11. 03. 2007. 12:56 |