VÝPRODEJ DOMÉN (pro vaše nové projekty) .....v nabídce také pár desítek super telefonních čísel pro vaše podnikání, firmu...
Zobrazují se odpovědi 1 až 10 z 10

Je načítání contentu do proměnné náročné?

  1. Zdravím, má někdo zkušenosti se zátěží na webový PHP server, pokud celý vygenerovaný obsah stránky načtu do proměnné, tam regexem nahradím speciální tagy za jiný obsah (taky třeba dynamický) a teprve obsah z proměnné posílám userovi na výstup?

    Používám cca takovýhle kus kódu. Něco podobnýho jsem už jako hotový řešení viděl, ale nejsem si jistej, jestli to je zrovna ono, a jestli ten autor si byl taky jistej, že je to efektivní a server se z toho nerozsype, když na něj začne chodit trochu více lidí:
    PHP kód:
    ob_start();
    require_once(
    'p/homepage.php');
    $output ob_get_contents();
    ob_end_clean();
    echo(
    preg_replace_callback($regex,"langreturn",$output)); 
    Je nějaké elegantnější, příp. efektivnější řešení jak v .php souborech nahradit třeba {banner} za obrázek s bannerem? Zkrátka a dobře, je normální ukládat do proměnný takhle dlouhý stringy?

    Díky za odpovědi.

  2. Co se právě děje na Webtrhu?
  3. Tak takový zápis bych ti určitě nedoporučoval, je to dost nepřehledné a navíc to bude znamenat další zbytečnou zátěž. Logiku pro nahrazení stringu si dej raději přímo do stránky.

  4. ne Hodnocení: 18 (100%) ne je na dobré cestě
    3
    az tak narocne to asi nebude. vygenerovany obsah cache-uj a narocnost este podstatne znizis

  5. Citace Původně odeslal ne Zobrazit příspěvek
    az tak narocne to asi nebude. vygenerovany obsah cache-uj a narocnost este podstatne znizis
    Náročnost je jeden aspekt. Podívej se na ten kód, opravdu si myslíš že je v pořádku? Kdybych v práci odevzdal takový kód, tak se mnou vyrazí dveře...

  6. Nastíním o co usiluji. Rád bych si vytvořil jednoduchý template systém, který bych používal při vkládání dynamického obsahu do statické šablonky webu. Něco jako je http://www.raintpl.com/ , ovšem mé vlastní řešení, vlastní funkce a způsob fungování.

    Dovnitř RainTPL jsem nijak podstatně nekoukal, je tam toho opravdu hodně a je to až přespříliš složitější od toho co chci udělat já. Ale zmíněné části s output buffery jsem tam taky našel, takže souhlasím a nejsem proti, že tento zápis je špatně, ale určitě nějak podobně tudy cesta povede.

    Ono je taky hezčí a přehlednější mít třeba v kódu
    Kód:
    <div id="banner">{banner,vrchni}</div>
    než třeba
    Kód:
    <div id="banner"><?php echo(banner(vrchni)); ?></div>
    Ono, možná když jsem napsal "když na něj začne chodit trochu více lidí", tak jsem určitě neměl na mysli návštěvnosti nad 5-10k denně. V takových případech je mi jasný, že se musí dělat extra kroky, aby to běželo plynule, v takových případech žádný takovýhle kraviny nepřipadají v úvahu, přehlednost, nepřehlednost.

  7. sobik Hodnocení: 28 (97%) sobik je na dobré cestě
    6
    Pokud se nepletu, podobný způsob práce s obsahem používá například i šablonovač Smarty, ale ve většině případů opravdu s využitím cache, jak bylo výše zmíněno. Smarty navíc nepoužívají zrovna prťavý weby.

    Zná-li ondrej.kopka vhodnější řešení pro tento případ, sem s ním...

  8. Ten zápis není chybný, bude fungovat. Bude taky dostatečně rychlý, využívá RAM a CPU, ne IO, a těch mají moderní webservery (dokud nemají).
    Ale je zbytečný. Banner vložte rovnou při zpracovávání té šablony, kam banner patří.

    Pokud váš teoretický šablonovací systém vyžaduje nahrazování pomocí regexu v kompletním output bufferu, promyslete ho lépe.

  9. Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    Ale je zbytečný. Banner vložte rovnou při zpracovávání té šablony, kam banner patří.

    Pokud váš teoretický šablonovací systém vyžaduje nahrazování pomocí regexu v kompletním output bufferu, promyslete ho lépe.
    Ten banner byl opravdu jenom příklad. Rozhodně nebudu dělat něco takovýho na statický věci, ale kdyby třeba se ten banner měl vracet z databáze, vybírat se náhodně, nebo dle časového nastavení, rozhodně by to smysl mít mohlo.

    Jiné nahrazování, než regexem mě vážně nenapadá. Napadlo mě jedině regex používat na část, ve které opravdu bude nějaký dynamický obsah, třeba jestliže celou stránku skládám ze souborů hlavicka.php, obsah.php a paticka.php, tak pokud vím, že v hlavičce a patičce nic dynamického nemám, tak budu nahrazovat jen v obsahu. Ale nemyslím si, že by tohle mělo až zas takový vliv na výkon a zátěž. To budou opravdu jen milisekundové položky, když nechám regexem projet i hlavičku, kde žádná shoda nebude, nevěřím tomu, že by to server zdrželo na víc jak 5 ms.

  10. kdyby třeba se ten banner měl vracet z databáze, vybírat se náhodně, nebo dle časového nastavení, rozhodně by to smysl mít mohlo.
    Nejlepší by bylo, kdybyste poslal nějaký příklad.
    Pořád nevidím důvod nahrazovat data v kompletním výstupu. To přece popírá smysl šablonovacího systému.

  11. Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    Nejlepší by bylo, kdybyste poslal nějaký příklad.
    Pořád nevidím důvod nahrazovat data v kompletním výstupu. To přece popírá smysl šablonovacího systému.
    Asi jsme se nepochopili, nebo já nechápu podstatu fungování šablonovacího systému. Můj skript dostane do ruky nějaký soubor, kde budou značky, které budu nahrazovat. Regexem pak v celém tomto souboru nechám tyto značky nahradit a to co mi z toho vznikne pošlu na výstup uživateli.

    Jsem nějak mimo, nebo to má fungovat jinak? Nemám totiž jinou představu a mám za to, že to takhle podobně funguje všude jinde.

Hostujeme u Server powered by TELE3