PHP kód optimalizálás

PHP kód optimalizálás

Hozzászólások

Így elöljáróban annyi lenne a problémám, hogy szeretnélk összehozni egy portál jellegű dolgot...
Táblázat 3 oszloppal, középre nyitja meg a lapokat, balról a menü stb...
Az a lényeg hogy csak a középső oszlop rész részbe töltődik be új dolog, és ezért nem szeretném ha minden mindig újratöltődne, frameket meg nem szeretnék használni...
Ezt hogy lehetne legegyszerűbben megoldani?

szvsz ennek az ég világon semmi köze a php kódoptimalizáláshoz!

sztem ajax lesz a barátod...

azonban én elgondolkoznék a célszerűségen is, a szélső menüsorok generálási ideje és a generált kód nagysága stb. nem nagyon szokott meghatározó lenni a középső tartalmi résszel összevetve.

Ezt így nagyon "összehegesztetted". Talán használj java scriptet (de ez is igazán "sufni tunning" a problémádra), vagy valami szerver-kliens kommunikációt támogató megoldást. A PHP erre nem igazán alkalmas.

Megoldás 1:
JAVA servlet vagy a ASP.NET használat.
Persze az előbbihez JAVA platform, az utóbbihoz Windows platform erősen ajánlot. Persze lehet linuxra is Tomcat-et és megfelelő Apache modult fordítani, de szerény véleményem szerint nem ajánlanám senkinek...

Megoldás 2:
Vagy nyugodj bele az "újratöltődésbe".

"A PHP erre nem igazán alkalmas"
Vajh ezt az okosságot honnan vetted?

"Talán használj java scriptet (de ez is igazán "sufni tunning" a problémádra)"
Uh...no comment

Kérdezőnek: had írjam le én is, mint n+1-dik, hogy ajax :), és bár baromira nem a menü lesz a szűk
keresztmetszet, de legalább megtanulod az ajaxot, ami imho a jövő(illetve már a jelen is)

Ha rendesen megcsinálod az oldalt, és a fő megjelenítési területet kivéve (ami ugye oldalanként változó) minden képet, és formázást CSS-ben definiálsz (sőt, amit lehet ott is), akkor nincs szükséged ilyesmire.

PHP-ben a legnagyobb sebességnövekedést akkor érheted el, ha utánanézel a függvényeidnek és ami rosszul van megírva újraírod.

Maga a nyers HTML kód nem nagy, kivéve, ha Word dokumentumból konvertáltál HTML-be, amit nem hinnék. :-)

Üdv: Tamaas

Akkor ezek szerint, ha pl most a HUP-ból indulok ki, akkor minden oldal így néz ki külön-külön mint ez, csak a középső oszlopban van más??? :S

Több programozási nyelven ismert módszer az MVC (model-view-control). A model általában magát az adatbázist jelöli, a view a megjelenést, míg a control az üzleti logikát, a vezérlést. A lényeg, hogy szétválasztod a tartalmat a megjelenéstől. Másfelől ennek még az az értelme, hogy minden szakember azzal foglalkozik, amihez ért. Nem zavarja egymás munkáját a programozó meg a site-builder.
Ennél a módszernél általában használnak valamilyen template rendszert ami megkönnyíti a site-builder munkáját, az egyik ilyen ismert pl.: Smarty. A programozó kiajánlja neki a megfelelő adatstruktúrákat és a site-builder meg ebből azt jelenít meg, amit akar. A Smarty-ban is van cache, de te is készíthetsz egyet.
Már előttem szólók is említettek 2 fontos dolgot:

  1. A PHP kód optimalizálás elsősorban arról szól, hogy megvizsgálod a kódjaidat és megnézed, hogy a megfelelő adat- és vezérlési szerkezeteket használtad-e. Ezen felül vannak különböző, a teljesítmény növelésére irányuló technikák és módszerek: pl.: output pufferelés, cache, melyeket beépíthetsz a kódodba.
  2. A másik már elhangzott, hogy az encoder/accelerator használat is teljesítmény javuláshoz vezet. Az eAccelerator egy jó választás, így nem tölt minden lapot újra.

Üdv: Webappz
http://webappz.hu

Nem cgi környezetben ha még eddig nem tetted, akkor feltétlenül próbálj ki valamilyen PHP content cache programot.

Kettőt említenék, mindkettő végez optmalizációt is (a köztes kódon) és nagyon megnyomják a teljesítményt:

1. pecl-apc
Description: A free, open, and robust framework for caching and optimizing PHP intermediate code.

2. eAccelerator
Description: A free open-source PHP accelerator, optimizer, and dynamic content cache.
(Ez utóbbi a Turck MMCache forrásából indult tovább)

Üdv,
Dw.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."