Halloweenská akce! Na stránce s dobitím bodů zadej dole kód STRASIDELNYCH20 a získej porci +20% bodů zdarma!
Akce končí 31.10. o půlnoci.

Lekce 7 - CMS v Nette a Doctrine 2 - Vytváření článků

PHP Nette Framework Doctrine CMS v Nette a Doctrine 2 - Vytváření článků

V minulé lekci, CMS v Nette a Doctrine 2 - Kategorie článků, jsme se věnovali vytváření kategorií článků a refaktoringu. V dnešním Nette tutoriálu si ukážeme, co jsou to pomocné třídy pro skládání DQL dotazů, jak fungují a nakonec přidáme možnost vytváření samotných článků.

Pomocné třídy pro skládání DQL dotazů

Základem je třída Kdyby\Doctrine\QueryObject, od kterého budou všechny naše třídy dědit. Všechny tyto třídy poté musí obsahovat metodu doCreateQuery(), která se postará o složení dotazu a vrácení objektu QueryBuilder. Díky tomu bude možné repositářům předávat objekt těchto tříd, přidávat jim různé filtry či další selecty a zefektivnit tak DQL dotazy. Příklad:

$query = new ArticlesListQuery();
$query->withAuthors()  // přidá jména autorů
        ->onlyReleased()  // vybere pouze schválené články
        ->latest(5);  // vybere posledních pět

$result = $em->getRepository(Article::class)
        ->fetch($query);  // vrátí výsledek

Takto nějak budou moci vypadat veškeré naše dotazy. Nebude třeba psát pro každý trochu odlišný případ novou metodu a nový dotaz, jednoduše si vytvoříme jeden základní a dle potřeby mu budeme říkat co dalšího má vybrat, jaké další podmínky má použít atd.


 

...konec náhledu článku...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornějšíčlánky, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu využijeme pomocné třídy pro skládání DQL dotazů a přidáme možnost vytvářet samotné články. Pokračujeme v CMS v Nette frameworku a Doctrine 2.

Koupit pouze tento článek

Pro přístup k článku potřebuješ 28 bodů
Na svém účtu máš aktuálně 0 bodů
28 bodů získáš za přidání svého článku na síť nebo za 70 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem

 

Článek pro vás napsal Martin Konečný (pavelco1998)
Avatar
Autor se o IT moc nezajímá, raději by se věnoval speciálním jednotkám jako jsou SEALs nebo SAS. Když už to ale musí být něco z IT, tak tvorba web. aplikací v PHP. Také vyvýjí novou českou prohlížečovou RPG hru a provozuje osobní web http://www.mkonecny.cz
Aktivity (4)