IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 7. diel - Databázový wrapper

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Kit
Tvůrce
Avatar
Kit:25.12.2012 18:04

U posledního zápisu bych přidal i způsob, jak se ta metoda bude volat.

$vysledek = DB::dotazJeden("SELECT * FROM `uzivatele` WHERE `jmeno` = ?", array($jmeno));

Také bych k tomu dodal, že předchozí ukázky vracely iterátor, ale ta poslední vrací přímo pole s výsledkem.

Odpovedať
25.12.2012 18:04
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:25.12.2012 22:00

Kód dodám. Předchozími ukázkami máš na mysli mysql_query?

Editované 25.12.2012 22:00
Odpovedať
25.12.2012 22:00
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:25.12.2012 22:18

Přesně tak. S PDO se to prostě chová trochu jinak, vyhovuje mi to víc. Obvykle se to dá přímo vložit do foreach, dokonce i do array_map() nebo array_reduce() apod.

V PDO je také zajímavá metoda fetchColumn(), která ubírá jednu dimenzi výsledku. Někdy se to hodí, zejména u KVS. Dobrá je i metoda fetchObject(), která uloží výsledek do objektu apod.

Odpovedať
25.12.2012 22:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
zdenek.kral
Člen
Avatar
zdenek.kral:26.12.2012 17:40

Měl bych takový dotaz k dynamicky generované fotogalerii v souvislosti s předchozím dílem a vytvořením pohledu z HTM šablony. Jestli to dobře chápu, tak dynamika stránek spočívá ve vygenerování příslušných hodnot a jejich dosazení do HTM kódu s odesláním statického view na klienta. Jak pak přistupovat z tohoto pohledu ke generování stránky např. s padesáti náhledy fotografií. Pokud to parsuji přes PHP a hned odesílám, tak se na stránce jednotlivé náhledy načítají postupně a i při pomalém přenosu se na stránce něco děje a návštěvník z ní hned neodejde. Pokud vytvořím statickou šablonu a do ní vysypu všechny náhledy, tak dojde ke značné prodlevě před odesláním na klienta a to by mohlo být z pohledu návštěvníka kritické. Jak tuto a podobné situace řešíš přes templates? ( např i tabulka se stovkami řádků s hodnotami taženým z databáze...atd ) Zdeněk

 
Odpovedať
26.12.2012 17:40
Avatar
Kit
Tvůrce
Avatar
Odpovedá na zdenek.kral
Kit:26.12.2012 19:14

Náhledové obrázky se generují předem a ukládají se na disku nebo v databázi.

Natažení stovek řádek z databáze je záležitostí několika milisekund.

Odpovedať
26.12.2012 19:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
zdenek.kral
Člen
Avatar
zdenek.kral:29.12.2012 19:15

Dovolim si odporovat, tohle neni odpoved na zadanou otazku. To vim take, ze si nahledy nebo fotky natahnu na klienta napred, ale to neni jiz otazka vyse zminene tematiky a mnou polozeneho dotazu k templates v PHP. Pokud dynamicky nacitam v PHP na zakladni webovou stranku pouze napr. "obsah stranky 01 dane fortogalerie, dale obsah stranky 02, ...stranky 03...." a to s nahledy 100 fotografii, tak je musim v PHP resamplovat, nedej boze, ze vytvarim thumnails v samotnem kodu PHP ( to je rezie pro server ...)a klient stale ceka.... O milisekundach bych se nebavil ( zalezi na rychlosti pripojeni a na freehostingu uz je uplne vse o nicem jinem i kdyz tam pobezi PHP 5.3 a vyssi...)
Mne slo o tu konkretni odpoved na zpruhledneni PHP a HTML kodu v souvislosti s HTM templates pro danou problematiku. Ne o obecne poucky... viz v uvodu.

Dekuji Zdenek

 
Odpovedať
29.12.2012 19:15
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na zdenek.kral
David Hartinger:29.12.2012 19:31

Pokud generuješ 50 náhledů, tak to nemůže být pomalé. Náhled je malý obrázek o nicotné velikosti. Možná tam dáváš jen zmenšené velké obrázky nebo máš náhledy ve špatném formátu.

EDIT: Náhled resampluješ jednou v PHP a to po nahrání na server, to není žádná zátěž.

Editované 29.12.2012 19:36
Odpovedať
29.12.2012 19:31
New kid back on the block with a R.I.P
Avatar
zdenek.kral
Člen
Avatar
zdenek.kral:29.12.2012 19:57

PS: jeste drobna poznamka k odpovedi od KIT:

Nemas docela pravdu, ze si thubnails generuji predem a ukladam na disk a uz vubec ne v databazi ( to bych povazoval za programatorsky analfebitismus, jeste tak nazvy a indexy atd, ale samotna obrazova data do BLOB je zvrhlost a rezie databaze je tak vysoka, ze se to nevyplati vubec programovat, pokud jde o rychlost dane webove stranky..)A mnoho galerii generuje nahledy prave pres PHP dynamicky bez predchoziho ukladani na disk, proste je jen jeden objemovy format dat napr. v JPG a thumbnails se vygeneruji pres PHP ( o ne-vyhodnosti tohoto pristupu nediskutuji ). A prave v teto souvisloti by me zajimala strategie HTML templates, protoze zde dochazi ve smyslu dopredneho posunu k prenosu velkeho objemu dat a reseni pres statickou sablonu si dost dobre nedovedu predstavit. Pri posunu zpet je vse dane ( vse je jiz na klientovi ), ale muj dotaz smeruje na predchozi kroky v aplikaci.

Zdravim Zdenek

 
Odpovedať
29.12.2012 19:57
Avatar
zdenek.kral
Člen
Avatar
zdenek.kral:29.12.2012 20:05

Odpoved prisla drive, nez muj dalsi prispevek, ale stale se nemuzeme dostat k nosnemu temetu celeho serialu a to zpruhledneni kodu pres templates a generovani daneho view pres PHP tridu. Vse v serialu je jasne a srozumitelne, ale pouze v mantinelech danych autorem a to je staticka sablona s naparsovanymi daty pres PHP ( to je vse OK, at uz s databazi nebo bez ni...), ale me zajima ta stranka veci, kdy musim dany obsah !!!!"vcetne HTML kodu!!!" generovat z PHP. Neb doposud jsem nenasel pro danou problematiku reseni, ktere popisuje autor tohoto serialu. To neni konfrontacni, to je dotaz, zda to nejak nejde. Sam nemam rad, pokud se mi to matla vse dohromady, ale doposud jsem autorem popisovane reseni pro danou problematiku nikde nenasel.

Zdravi Zdenek

 
Odpovedať
29.12.2012 20:05
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na zdenek.kral
David Hartinger:29.12.2012 20:20

Pokud máš na mysli např. generování tabulky, tak něco takového bude příště. Dělá se to v šabloně, ty totiž nejsou statické.

Odpovedať
29.12.2012 20:20
New kid back on the block with a R.I.P
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!