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 3 riadky. Obrázky sa nachádzajú v adresári
uploads
. - Vytvorte triedu pre model
Post
s 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.php
a 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\post-form.snippet.view.php
. Obrázok vkladajte ako text externej URL. Doplňte správnu akciu pre formulár. - Vytvorte pohľad
add.view.php
a vhodne do neho zakomponujte pohľadform.view.php
tak, 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
id
prí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 naHome
strá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