NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 7 - Databázový wrapper

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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.

Odpovědět
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
Odpovídá na Kit
David Hartinger:25.12.2012 22:00

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

Editováno 25.12.2012 22:00
Odpovědět
25.12.2012 22:00
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Odpovědět
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

 
Odpovědět
26.12.2012 17:40
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Odpovědět
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

 
Odpovědět
29.12.2012 19:15
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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ěž.

Editováno 29.12.2012 19:36
Odpovědět
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

 
Odpovědět
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

 
Odpovědět
29.12.2012 20:05
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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é.

Odpovědět
29.12.2012 20:20
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 41.