PHP - bez zbytočného preloadovania

12.10.2007 | 12:32 | Programovanie | titanik
<!-- autor nech si prosim precita vsetky vlozene kometare. ehm, a dovolim si pochybovat o vplyve na rychlost. nadpis je zly. uid0 --> V tomto manuáli by som vám rád predstavil funkcie v PHP, ktoré zabezpečujú preload iba určitej časti stránky, takže veľmi rapidne znížime loading a blikanie pri refreshi a znovunačítanie a pod. Najprv si vytvoríme stránku, kde bude dajme tomu menu, logo a text. Budeme mať asi nasledovnú štruktúru stránky: <!-- navrhujem spravit nieco serioznejsie s pouzitim TT fontov a rovnych ciar. uid0 -->; <img src="http://www.imagehosting.com/out.php/i267976_struktura.png"> Stránka môže byť robená cez divy, tabulky, hocičo okrem framov. Text si uložíme do uvod.php. Miesto textu, ktorý sa bude zamienať vložíme tento PHP kód:
$page=$_GET['page'];

switch ($page) {
    case 'stranka2':
        if(is_readable('stranka2.php')) include 'stranka2.php';
    break;
    ...
    default:
        include 'uvod.php';
}
Teraz to vysvetlím, najprv zadefinujeme $page, ktorú bude zobrazovať, no a potom už len používame switch premennej $page, v prípade že bude zadaná nedefinovaná adresa bude použita uvod.php. Ide o to, že teraz nebudete mať odkazy napr. stranka2.php, ale bude mať adresu index.php?page=stranka2. Týmto docielime že celá stránka index.php zostane, len sa zmení uvod za stranka2, čím môžeme urýchliť čakanie na preload stránky. Ja osobne to považujem za veľmi dobré riešenie, kedže nemusíme do každého súboru pchat celý dizajn a iný text, jednoducho uložím iba text a je to vyriešené. :)
Keď budete chcieť toto použiť, nezabudnite že odkazy majú adresu vasastranka.php?page=strankastextom. Ešte takú poslednú poznámku, pre tých menej schopných, pre každú stránku ktorú chcete zobraziť týmto skriptom, musíte si to nadefinovať medzi switch, tak ako je to spravené s stranka2.php a uvod.php.
<!-- k teme, prosim. uid0
Časom by som mal priniesť aj PyQt skripty, možno CSS vytváranie divov a nejaké PHP a MySQL skripty. Keď ste sa dočítali až tu, za vašu pozornosť ďakujem ;).
-->

<-- bezpecnostna chyba ako hrom... uid0
<-- pridavam sa, tak by som to neodporucal... titanik
Ja by som to zjednodušil takto:
<?php
$id=$_GET["page"];
if ($id=="") $id="uvod"
if(is_readable($id."php"))include $id."php"
?>

mayo_s

Tak sorry, nevedel som. Môžeš mi vysvetliť prečo? Čo také mi môže zo servra zobraziť? Veď automaticky pridávam na koniec koncovku php. Teoreticky neotvorí nič okrem php

-->