Php fájlok leterheltsége
Sziasztok!
A következő kérdéseim lennének:
1.) Mennyire terhelem le a szervert (illetve lassítom le a felhasználók felé a letöltési sebességet), ha minden felhasználó egy php fájlt (:= index.php) használ, vagy többet szétszórtan (:= index.php, forum.php, cikk.php ...). Az első esetben egy fájlba szúrom be a megfelelő php kiegészítőket, míg a másodikban több fájl osztozik ugyanezeken a php kiegészítőkön. (php kiegészítő alatt értem a programokat Pl.: ha cikkeket kell megjeleníteni, akkor a fórum programját nem töltöm be ...)
2.) A php programjaim alap függvényekre vannak bontva, amelyek több különböző fájlban vannak elhelyezve. (Pl.: Egy fájt egy adott függvényét használja az összes adatbázist igénylő program.) Eddig úgy oldottam meg, hogy ne legyen függvényduplázás, hogy mindegyik kapott egy változót és leellenőriztem, kapott-e értéket / betöltötte már az adott fájlt. Van erre jobb megoldás?
■ A következő kérdéseim lennének:
1.) Mennyire terhelem le a szervert (illetve lassítom le a felhasználók felé a letöltési sebességet), ha minden felhasználó egy php fájlt (:= index.php) használ, vagy többet szétszórtan (:= index.php, forum.php, cikk.php ...). Az első esetben egy fájlba szúrom be a megfelelő php kiegészítőket, míg a másodikban több fájl osztozik ugyanezeken a php kiegészítőkön. (php kiegészítő alatt értem a programokat Pl.: ha cikkeket kell megjeleníteni, akkor a fórum programját nem töltöm be ...)
2.) A php programjaim alap függvényekre vannak bontva, amelyek több különböző fájlban vannak elhelyezve. (Pl.: Egy fájt egy adott függvényét használja az összes adatbázist igénylő program.) Eddig úgy oldottam meg, hogy ne legyen függvényduplázás, hogy mindegyik kapott egy változót és leellenőriztem, kapott-e értéket / betöltötte már az adott fájlt. Van erre jobb megoldás?
esetleg...
Barna
amúgy igen
A második az nagy kérdés. Meg kell találni az egyensúlyt az óriási lassú include fájl, és a szétdaraboltség között.
Én is kísérletezem a helyes receptel. Kezdetben volt egy functions.php - ez egyre csak nőtt és nőtt, aztán sokkal több memóriát foglalt, mint az adott oldalhoz tartozó "hasznos" kód.
Ezután lett session.php meg statistics.php - ezek már kisebbek voltak, de gyakran volt olyan, hogy mind betöltőtött.
Most ott tartok, hogy a session.php-ből lett: session_light.php session_use.php és session_manage.php . Az első egy minimális függvény ami visszaadja a beloginolt user id-t. Ezzel gyakorlatilag azt lehet eldönteni, hogy belépett-e az illető. Ez gyakorlatilag minden oldalon rajta van. A session_use már le tudja kérdezni a user saját rekordját (beállításai), és módosíthatja is. A manage olyan dolgokat tartalmaz, mint regisztráció, elfelejtett jelszó, aktiválás, amit csak az erre rendelt php használ.
A hierarchikus felépítést választottam (minden bonyolultabb beinclude-olja az előzőt - a session_use első sora pl: include_once ("session_light.php").
Nemtudom mennyire volt érthető, én mindent megpróbáltam :)
B
PHP fejlesztés felsőfokon c. könyv
"
... include beágyazások általában nem jelentek szűk keresztmetszetet.
A kódnak elösször is kezelhetőnek és újrahasznosíthatónak kell lennie. Ha ez 10-20 beágyazott állományt jelent, hát legyen. Ha a kódot gyorsabbá akarjuk tenni készítsük el a profilját (a 18. fejezetben bemutatott eljárások használatával), és csak akkor nyirbáljuk meg a beágyazási fát, ha a profil azt mutatja, hogy az include() és a require() használata jelentősen csökkenti a teljesítményt.
"
Pontosítás
Szóval pontosan a kérdésem az lenne, hogyha az oldalnak több része van, érdemes-e fájlonként felbontani.
Pl.:
Főoldal www.valami.hu/index.php
Fórum www.valami.hu/forum.php
Cikk www.valami.hu/cikk.php
Link www.valami.hu/link.php
Mindegyik ugyanazt tartalmazza, mert ugyanúgy a „torzs.php”-t illesztem be, csak így nem minden látogató egy index.php használ/ kér le/ vár. Ha az egyik fórumozik, akkor az a forum.php-t, és közben ha a másik cikket olvas/értékel, akkor a cikk.php-t használja. Tehát egyszerre nem kell az index.php-nak kiszolgálni őket. Így próbálom egyenletes elosztani a megterhelést. Lehet, hogy így is ugyanott vagyok, mivel mindegyik a torzs.php-t tölti le közvetve. Remélem, így érthetőbb. Mi a megoldás ilyen estekben?
Közben eszembe jutott még egy kérdés.
3.) Sok kicsi vagy inkább kevesebb nagyobb függvény használata ajánlott?
hehe
http://www.prog.hu/cikkek/881/A+kiszolgalo+kornyezet+inditasa/oldal/1.html
http://www.prog.hu/cikkek/883/PHP+szkriptek+ertelmezese.html
stb.
köszi :)
Válasz
Akkor az egy fájlos kezelés még jobb is, mintha szétszedném darabokra. Sőt a fő feladatom a 26 kiegészítő php-t ésszerű összevonása lesz. :-)
darabolós
file-ok:
config/admin/admin.newuser.input.php //Input
config/admin/admin.newuser.ellenor.php //Adatellenőrzés
config/admin/admin.newuser.db.php //Adatbázisba vétel
És mindig a megfelelőt hívom meg. Ezt főleg azért csinálom, mert bizonyos funkciókat egyszuerűen ki lehet kapcsolni, ill. javítani. Meg persze az fenti védelem dolgot is jelentősen leegyszerüsíti.
üdv
BL