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.sql
na vytvorenie DB tabuľky v DBvaiicko_db
. - Do tabuľky vložte aspoň dva riadky. Obrázok môže byť externá URL.
- Vytvorte triedu pre model
Post
s atribútmi, ako má tabuľka.
- Použite SQL skript
- Zobrazenie príspevkov
- Zobrazte príspevky na
Home
stránke. - Načítajte záznamy o príspevkoch z DB a pošlite ich do pohľadu.
- Použite snippet
snippets/post.snippet.view.php
a upravte ho tak, aby zobrazila všetky príspevky z DB.
- Zobrazte príspevky na
- Pridávanie príspevkov
- Pre príspevky vytvorte nový controller
PostController
. - Pridajte metódu pre zobrazenie formuláru na vloženie nového príspevku
add()
. - Pridajte odkaz na pridanie príspevku do hlavného menu.
- Vytvorte jednoduchý HTML formulár pre pridanie príspevku do samostatného pohľadu
form.view.php
. Obrázok vkladajte ako text externej URL. Doplňte správnu akciu pre formulár. - Nahraďte obsah pohľadu formulárom zo súboru
snippets\post-form.snippet.view.php
. - Vytvorte pohľad
add.view.php
. Vhodne rozdeľte obsah pohľaduform.view.php
, 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 naHome
stránku. - Pridajte kontrolu na strane servera, že používateľ odoslal obidva povinné polia. Upravte pohľad s formulárom tak, aby zobrazoval chyby.
- Pre príspevky vytvorte nový controller
- 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
. - 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 id príspevku.
- Nastavte správnu akciu k tlačidlu
- Zmazanie príspevku
- Nastavte správnu akciu k tlačidlu
Upraviť
pri zobrazení príspevku. - Vytvorte metódu
delete()
. Po zmazaní príspevku, presmerujte zobrazenie naHome
stránku.
- Nastavte správnu akciu k tlačidlu
- Upload obrázka
- 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
. Adresár je potrebné vytvoriť. 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