Autor Zpráva
Makel
Profil *
Zdravím,

mám stránky děláné způsobem že je v jednom souboru nadefinované tělo stránky a dalšími soubory se pak postupně vkládají další stránky, problém je když chci v těch vkládaných souborech použít header nebo jinou funkcí závislou na neodeslání hlaviček které se ale provede už v souboru těla, tenhle problém mi vyřešila funkce ob_start (bufferování výstupu) na začátku souboru těla, ale zajímalo by mě jestli má tato funkce nějaké zápory proč bych jí neměl používat a najít jiný způsob, nebo jestli to ok a žádné "háčky" to s sebou nepřináší..
díky
matak
Profil
osobně bych změnil přístup a logiku programování, myslím, že lepší by bylo vkládat do jednotlivých stránek tělo a ne opačně tedy např. soubor:

registrace.php / asi je jasné k čemu slouží

header('XXXX');
.....zdrojový kód......
include("hlavicka.php");
include("registrace.tpl");
indluce("paticka.php");
krteczek
Profil
můžeš to otočit tak, že nejprve zpracuješ vše co potřebuješ a jednotlivé výstupy uložíš do proměnných. Pohlídáš si abys nikde neodeslal http hlavičky dříve než chceš (žádné echo, print ani zapomenutý bílý znak před <?php a po ?>, echo pustíš až ve chvíli kdy to potřebuješ všechno vypsat.

Nicméně o háčcích u ob_start nevím, i když jsem slyšel něco o "kanónu na vrabce" :)
matak
Profil
jinak nevím v čem by byl problém s ob_start akorát mi to přijde jako plýtvání hardwarových prostředků, ale možná se mýlím
Makel
Profil *
No styl skladby jakým to mám teď mi vyhovuje takže ho měnit nebudu, jen se ptám na to ob_start() :)
Co se týče toho HW to asi zas tak hrozné nebude ne? Jako že by to pálilo server...
Kcko
Profil
Pouzivam porad a nevidim na tom nic hrozneho. Nehlede na to ze kdyz mam celou stranku v bufferu, muzu si s ni delat co chci ... napriklad menit TITULEK stranky i nekde dole na strance podle toho co nactu z DB.

Takze np
Makel
Profil *
matak: asi sem to špatně napsal tělem stránky myslím obal (hlavička, doctype <html> atd) a do toho se pak vkládají stránky jako takové
matak
Profil
tak myslím, že je dobré dodržovat šablonovací techniky, tedy v html vypisuji už jen to co mám připravené jinde, takže soubor z html by měl dokázat editovat a spravovat i grafik bez znalostí php, pak nepotřebuji buffer a měnit titulek až když je celá stránka vygenerovaná, u ob_start bych pochyboval při hodně navštěvovaných stránkách
Kcko
Profil
matak - nevis o cem mluvis, bohuzel ...
Makel
Profil *
Používání šablon je v mém případě zbytečné, nepotřebné, jen mě zajímá to bufferování, protože to řešení odeslání hlavyček před výstupem je pro mě nereálné když ta hlavička je až po vložení souboru, ale tak snad to je jak píše Kcko tak uvidím, když to nebude dělat problémy nechám to tak :)
matak
Profil
Kcko: popravdě nedokážu říci jak je náročné bufferování, každopádně v tomhle případě mi to přijde zbytečné a proč dělat něco co je zbytečné a zatěžovat stroj, které hodně navštěvované stránky si dělal s tím bufferováním (jestli víš o čem mluvíš)?

Makel: nejde o používání šablon, ale o techniku programování
matak
Profil
Kcko: i když o tom tak přemýšlím, je nesmysl aby bufferování zatěžovalo stroj, ta pamět která kvůli tomu bude alokovaná bude minimální, máš pravdu, sory tohle je marný argument, nevidím v tom žádný problém, jen to, že mi to moc nesedí a určitě se bez toho dá elegantně obejít
Kcko
Profil
matak

chapu ze se ti to nelibi. Me se to libi hlavne diky tomu co jsem napsal vyse

TITULEK stranky
navigace
dalsi menu
    
     headline 
     obsah stranky

footer


a ted si vem ze chci zmenit jak TITULEK stranky tak i HEADLINE , a chci to zamenit az tehdy co se mi nacte obsah stranky.
Pomoci bufferu je to sranda. Dalsi veci je to, ze si muzu pouzivat hlavicky jak me napadne a neohlizim se na to jestli mam pred nimi nejaky vystup. To spousta lidi povazuje za prasaracke , ja nikoliv, a to i z toho duvodu, ze potom ten kus nakesovane stranky pres presmerovanim mazu ( ob_end_clean ) a to snad nikdo koho znam nedela. Jinak je to velmi rychle.

Jinak stranek jsem udelal pomerne velkou cast, firemnimama projektama atd se ohanet nebudu , ale klidne se podivej na

www.pesonline.cz / na to jak je ten web velky co se tyka objemneho a ne 2x dobre napsaneho HTML a CSS , tak velke spousty dotazu , ktere jiz kesuji do pameti / tak to frci jak blesk a samozrejme output buffering pouzivam


Timto v tomto vlakne koncim, nice weekend
matak
Profil
Kcko: nechtěl jsem, aby si se oháněl vším co si udělal, zajímalo mne na jaké zkušenosti stavíš, tedy tisíce návštěv denně, které potvrdí, že bufferování s každým načtením stránky nezatěžuje zbytečně stroj, každopádně se domnívám, že nezatěžuje a je to ode mne zbytečný argument, takže to ponechme

všechny problémy co řešíš bufferováním, řeší právě logika programování pomocí šablon, není potřeba mít šablonovací systém, ale používat tu logiku, tedy celý obsah a výpočty a obsah databáze si nejprve natáhnu a zpracuji do jednotlivých proměnnýc, polí apod. pak teprve načtu šablonu, která zpracovává a vkládá do html jen např. název titulku,

každopádně nechci tě přesvědčovat, aby si kvůli mně měnil styl programování, teda kdybych tě zaměstnal tak by si musel :), ale tohle je jen můj názor, nalož s ním podle sebe,

timto také v tomto vlakně končím, užij si víkend

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: