Momentálne je otvorená vetva MAIN, ktorá obsahuje štartér. Riešenie obsahuje vetva SOLUTION.
Vytvorte jednoduchú aplikáciu, kde bude možné uverejňovať príspevky skladajúce sa z textu a fotografie. Implementujte všetky CRUD operácie.
- Vytvorenie modelu pre entitu
Post- Použite SQL skript
ddl.posts_01.sqlna vytvorenie DB tabuľky v DBvaiicko_db. - Do tabuľky vložte 3 riadky. Obrázky sa nachádzajú v adresári
uploads. - Vytvorte triedu pre model
Posts rovnakými atribútmi, ako má tabuľka.
- Použite SQL skript
- Zobrazenie príspevkov
- Pre príspevky vytvorte nový kontroler
PostController. - Načítajte záznamy o príspevkoch z DB a pošlite ich do pohľadu
index. Použite súborsnippets/post.snippet.view.phpa upravte ho tak, aby zobrazil všetky príspevky z DB. - Pridajte odkaz na zobrazenie príspevkov do hlavného menu.
- Pre príspevky vytvorte nový kontroler
- Pridávanie príspevkov
- Pridajte metódu pre zobrazenie formuláru na vloženie nového príspevku
add(). - Pridajte tlačidlo na pridanie príspevku do pohľadu
index. - Vytvorte pohľad pre formulár
form.view.php. Vytvorte vlastný formulár, alebo použite súborsnippets\form.snippet.view.php. Obrázok vkladajte ako text externej URL. Doplňte správnu akciu pre formulár. - Vytvorte pohľad
add.view.phpa vhodne do neho zakomponujte pohľadform.view.phptak, aby bolo možné použiť formulár opakovane. - Doplňte metódu
save()pre uloženie dát z formulára do DB a po jeho uložení presmerujte používateľa na zoznam príspevkov. - Pridajte kontrolu na strane servera (obidva povinné polia, obrázok je len typu jpg, alebo png a text má aspoň 5 znakov).
Zdrojový kód pre metódu na kontrolu chýb vo formulári nájdete v súbore
formErrors.snippet.php. Upravte pohľad s formulárom tak, aby zobrazoval chyby.
- Pridajte metódu pre zobrazenie formuláru na vloženie nového príspevku
- Editácia príspevku
- Nastavte správnu akciu k tlačidlu
Upraviťpri zobrazení príspevku. - Vytvorte metódu
edit()a pohľadedit.view.php. Môžete sa inšpirovať pohľadomadd.view.php. - Na editáciu použite formulár pre pridávanie príspevkov. Formulár upravte tak, aby zobrazoval dáta príspevku, ktorý upravujete. Nezabudnite, že pri
editácii potrebujete aj
idpríspevku. - Na ukladanie príspevku modifikujte metódu
save()kontroleraPostController.
- Nastavte správnu akciu k tlačidlu
- Zmazanie príspevku
- Nastavte správnu akciu k tlačidlu
Zmazaťpri zobrazení príspevku. - Vytvorte metódu
delete()v kontroleriPostController. Po zmazaní príspevku, presmerujte zobrazenie naHomestránku.
- Nastavte správnu akciu k tlačidlu
- Upload obrázka (domáca úloha)
- Upravte formulár tak, aby bolo možné odosielať súbor s obrázkom. Nezabudnite pridať atribút
enctype="multipart/form-data"do značky<form>. - Spracujte poslané súbory tak, aby sa ukladali na webový server do adresára
public\uploads. V prípade OS Linux je potrebné aj nastaviť práva na zápis pre všetkých. - Upravte zobrazenie príspevkov tak, aby sa zobrazovali obrázky, ktoré ste nahrali.
- Zabezpečte, aby sa nestávalo, že používatelia si budú prepisovať obrázky, ak majú rovnaký názov.
- Upravte formulár tak, aby bolo možné odosielať súbor s obrázkom. Nezabudnite pridať atribút
Pokiaľ sa chcete dostať k riešeniu z cvičenia je potrebné otvoriť si príslušnú vetvu, ktorej názov sa skladá:
MIESTNOST + "-" + HODINA ZAČIATKU + "-" + DEN
Ak teda navštevujete cvičenie pondelok o 08:00 v RA323, tak sa vaša vetva bude volať: RA323-08-PON
Cvičenie používa framework vaííčko dostupný na repe https://github.com/thevajko/vaiicko