Elolvasva a pár mondatos leírást és a forrásban levő kommenteket is, még mindig nem lettem sokkal okosabb.
Mi ez tulajdonképpen? Miért/hogyan javít a PHP teljesítményén a gyorstárazás?
Hogyan kell használni? Gondolom az édeskevés (kipróbáltam és tényleg) hogy beteszem a projekt gyökerébe a letölthető egyetlen fájlt.
Megpróbáltam beinklúdolni, le is futott és készített egy cache fájlt, de abban csak egy üres tömb definíció szerepelt. Ennyi már elég a boldogsághoz? Nehezen hiszem.
Nyilván én vagyok nagyon tájékozatlan, kérlek segítsetek!
Először is: nem próbáltam ki gyakorlatban, mert PHP5 még nincs, amire dolgozzak. (Ha minden jól megy, a téli szünetben nem lesz szünetem, hogy legyen cserébe PHP5-öm és ellenőrizgethetem a kódokat... :)
A PHP5 tud olyat, hogy Automatikusan betöltődő objektumok. EZ a leírás szerint azt takarja, hogy "Te definiálhatsz egy __autoload nevű függvényt ami automatikusan meghívódik minden esetben, amikor egy olyan próbálsz meg osztályt használni, ami még nincs definiálva. Ezt a függvényt meghívva a programmotor egy utolsó esélyt ad az osztály betöltésére, mielőtt a PHP hibát eredményez."
Ezzel egy utolsó esélyed lesz a hibakezelésre, vagy akár loggolhatod a hibát, ahogy jónak látod. Az említett fájlt include-olnod kell, és cserébe nem kell az objektumaidat tartalmazó fájlokat behúznod, csak használnod őket. Mert: Ha használod és nincs, az __autoload() (amit a fájl definiál) megnézi a kessében, hogy melyik fájlt kell behúznia hozzá, (ha nincs, akkor első alkalommal megkeresi) és boldogan élsz, amíg meg nem halsz... :)
Szép is belegondolni, hogy a debuggoláshoz használatos objektumok miatt nem kell 'fölösleges' fájlokat behúzogatni, majd élesítés során végignyálazni és kiszedegetni azokat. Meg a fájlok elején sem kell fél kilóméternyi include_once, require_once halmot kerülgetni :)
Köszönöm szépen a hasznos információt, rögtön ki is próbáltam, és valóban működik.
Most még ugyan csak egyetlen osztályom van az éles projectben, de gyorsan összedobtam még párat próbából, és valóban bekerültek a cache tömbbe és az include-ok elhagyása után is szépen betöltődtek. Persze a c_square.php kell, de ez akkor is csak egy.
Így már tetszik a dolog, azt hiszem, fogom is használni.
Magyarázzátok el!
Elolvasva a pár mondatos leírást és a forrásban levő kommenteket is, még mindig nem lettem sokkal okosabb.
Mi ez tulajdonképpen? Miért/hogyan javít a PHP teljesítményén a gyorstárazás?
Hogyan kell használni? Gondolom az édeskevés (kipróbáltam és tényleg) hogy beteszem a projekt gyökerébe a letölthető egyetlen fájlt.
Megpróbáltam beinklúdolni, le is futott és készített egy cache fájlt, de abban csak egy üres tömb definíció szerepelt. Ennyi már elég a boldogsághoz? Nehezen hiszem.
Nyilván én vagyok nagyon tájékozatlan, kérlek segítsetek!
N0r3i
a lényeg a lényeg ;)
A PHP5 tud olyat, hogy Automatikusan betöltődő objektumok. EZ a leírás szerint azt takarja, hogy "Te definiálhatsz egy __autoload nevű függvényt ami automatikusan meghívódik minden esetben, amikor egy olyan próbálsz meg osztályt használni, ami még nincs definiálva. Ezt a függvényt meghívva a programmotor egy utolsó esélyt ad az osztály betöltésére, mielőtt a PHP hibát eredményez."
Ezzel egy utolsó esélyed lesz a hibakezelésre, vagy akár loggolhatod a hibát, ahogy jónak látod. Az említett fájlt include-olnod kell, és cserébe nem kell az objektumaidat tartalmazó fájlokat behúznod, csak használnod őket. Mert: Ha használod és nincs, az __autoload() (amit a fájl definiál) megnézi a kessében, hogy melyik fájlt kell behúznia hozzá, (ha nincs, akkor első alkalommal megkeresi) és boldogan élsz, amíg meg nem halsz... :)
Szép is belegondolni, hogy a debuggoláshoz használatos objektumok miatt nem kell 'fölösleges' fájlokat behúzogatni, majd élesítés során végignyálazni és kiszedegetni azokat. Meg a fájlok elején sem kell fél kilóméternyi include_once, require_once halmot kerülgetni :)
Már alig várom, hogy kipróbálhassam...
Működik :-)
Most még ugyan csak egyetlen osztályom van az éles projectben, de gyorsan összedobtam még párat próbából, és valóban bekerültek a cache tömbbe és az include-ok elhagyása után is szépen betöltődtek. Persze a c_square.php kell, de ez akkor is csak egy.
Így már tetszik a dolog, azt hiszem, fogom is használni.
Köszönöm!
N0r3i