Diskuze: Otazocka k Statike php
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 19 zpráv z 19.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Existuje. Používají se na to speciální proměnné s prefixem "_", v tomto případě buď $_COOKIES, nebo $_SESSION. Budeš si o tom něco muset přečíst, v základu je ale rozdíl v tom, že $_COOKIES se ukládá na straně klienta (nicméně efekt stejný) a $_SESSION na straně serveru. COOKIES se proto používá spíše na méně podstatné věci, SESSION zase na ty podstatnější (například se do něj ukládá ID přihlášeného uživatele - proto uživatel není po obnovení stránky odhlášen).
Jestli ti něco nebude jasné, klidně mi napiš SZ.
...v php definovat staticku premenu aby hociktory uzivatel nacital ten php skript aby sa znova nevytvorila...
to chceš aby viacero užívateľov používalo tú istú premennú?
Jestli ano, potom cookies ani session nepomůže. Spíše bych si založil buňku v databázi.
Presne oto mi ide, a myslel som si ze existuje vhodne riesenie urcite ale nie session ani cookies, ani datbaza , keby som chcel napriklad pocitadlo uzivatelov tak napisem si to suboru a budem nacitat zo suboru premenu (aktualny stav) ale co ak by som chcel pre vsetkych uzivatelov triedu s premenamy a podobne? existuje aj nato riesenie?
este k tej databaze, ja by som to aj riesil databazou ale ked mate väcsiu applikaciu a potrebujete urobit proste viacero selektov v jednom skrypte a mate vyuzivany casto web tak tam sa potom rodi zase problem s ukoncenim pripojenia do databazi a nastava problem kde pri vypise cmd -> netstat -an je vela spojeni time_wait od databazy tym sa zbytocne zatazuje server, a doteras nechapem preco sa to spojenie spravne neukonci (vyuzival som pdo pre pripajanie) , sposob ako urobit perzistentne iba 1 pripojenie do databazi pre vsetkych uzivatelov skratka asi neexistuje lebo sa neda vyrobit staticka premena ktora by bola rovnaka pre vsetkych uzivatelov co spustia ten skrypt.
Promiň, moc jsem tě teď nepochopil. Můžeš mi napsat konkrétní problém? Nikdy jsem podobnou "statickou proměnou" nepotřeboval a to už dělám s PHP nějaký ten pátek. Nejspíš budeš mít chybu v návrhu. Když mi napíšeš konkrétní příklad, určitě nalezneme vhodnější řešení.
Pripojenie k databázi sa bežne na konci súboru ruší, aby nebola zbytočne preťažená.
Tak na priklad co ak potrebujem ulozit data s databazy na 10 minut niekde ? a podobu tych 10 minut ked budu chodit uzivatelia na web maly by sa im zobrazovat prave tie data. Ak by bola nato trieda kde by bola staticka premena s tymi datami, tak by to bolo ovela vyhodnejsie ako pri kazdom spusteni skryptu sa pripajat do databazi vybrat 1 riadok dat a vypysat ho. Hladam riesenia vlastne ako minimalizovat pripojenia do dabazy.
ano rusi, ale ukoncenie relacie soketov na oboch stranach zrejme prebehne nekorektne teda time_wait status podobu 60-120 sekund, ak teda mate vyssiu navstevnost webov a 1 skrypt kontaktuje datbazu casto kvoli potrebe dat pride mi to ako problem.
Takže vlastně chceš vytvořit instanci třídy, připojující se k databázi, která by byla společná pro všechny uživatele na webu? Jestli ano, nejsem si jistý, jestli je něco takového možné. Minimálně to není běžnou praxí.
Obyčejně se vytvoří jediná instance, která se předává v konstruktorech do dalších tříd (v architektuře MVC/MVP do modelu). V serverech se moc nevyznám, takže možná plácnu blbost (a jestli ano, opravte mě prosím), ale jestli ti server nezvládá počet uživatelů, možná bys měl zvážit zvýšení výkonu.
// Příspěvek poslán se zpožděním
Nie Nie, to som len uviedol ako priklad problemu proste vytvorit triedu z ktorej by mohli cerpat data vsetci uzivatelia ale vytvorit tu triedu iba 1 krat a nie stale pri nacitani celeho skriptu.
ak by som data ulozil do serveru niesom si isty ako by to zatazovalo server stale tie data citat s toho txt suboru keby nahodou mal web velku prevadzku? nerobilo by tak caste nacitanie suboru by asi ovplivnil cely server nie co ak by tam boli mb dat? Dokola x krat to nacitavat neviem neviem, lepsie by bolo keby to bolo iba raz v triede a je ktomu okamzity pristup bez nacitavania subory trieda by sa vytvorila iba 1x pri prvemu uzivatelovi ostatny by vlastne cerpali data uz s vytvorenej triedy. No ci je to realne u php to neviem, a to prave zistujem ci ma aj take moznosti.
Nevím jestli je to korektní způsob - osobně mi to přijde přitažené za vlasy - nešlo by to ale uložit do cache pomocí nějaké APC? Proměnná by pak měla existovat pro všechny, dokud by se server nerestartoval. Popřípadě v PHP4 a PHP5 můžeš pracovat se sdílenou pamětí, nemám s tím ale žádné zkušenosti. Zkus se podívat do dokumentace http://php.net/…-get-var.php.
Je to docela zajímavá, nevšední problematika, takže budu moct podávat jen mlhavé odpovědi, když mi ale dáš tak den možná dva, zjistím ti o tom něco víc.
Uz teras dakujem ze niekomu pride aj vhod tato otazocka, nerad chodim s otazkami ako vytvorim pole alebo nieco podobne radsej pridem s otazkou na ktoru neviem najst odpoved nikde
chcel som este nieco dopisat do spravy no uz nedalo sa nemam opravnanie chcel som iba dopisat ci hostingy vobec podporuju apc?
Při odpovědi klikej na tlačítko Odpovědět, jinak mi nepřijde upozornění. Spousta jich APC určitě podporuje, stačí hledat. Mám dojem, že u WEDOSu pořídíš.
a pouzivaj tlacitko "Vlozit zdrojovy kod",
alebo na zaciatok napis do hranatych zatvoriek: code
a na konci kodu do hranatych zatvoriek: /code
Zobrazeno 19 zpráv z 19.