Tredun ohjelmistokehittäjien kurssimateriaaleja
Ennen näitä harjoituksia tutustu materiaaliin PDO-rajapinta.
Tee kolmen sivun sivusto: pääsivu (index.php),lue uutiset (uutiset.php) sekä lisää uutinen (uusi_uutinen.php) -sivut. Jaa koodi niin, että head.php sisältää sivuston otsikon sekä navikointipalkin ja footer.php kaikille sivuille yhteisen sivun alareunan. Katso mallia täältä.
Muotoile sivu käyttämällä .css:ää, katso mallia täältä.
Tee lomake, jonka avulla voi lisätä uuden uutisen. Tee lomakkeen käsittelijä, joka tulostaa tiedot selaimen ikkunaan.
Liitä sivustosi käyttämään tietokantaa. Hae kaikki uutiset tietokannasta ja tulosta ne “lue uutiset”-sivulle.
Jaa koodisi kahteen osaan: uutinen.php sisältää tietokantaan liittyvät toiminnot ja uutinen.view.php muotoilee sivun ulkonäön.
Liitä lomakkeesi tietokantaan niin, että sen avulla voi lisätä uuden uutisen tietokantaan. Muista sanitoida syötteet.
Lisää koodiisi reititys (router), jaa koodi järkeviin kansioihin (controllers, libraries, views, partials, database).
Lisää sivustolle rekisteröityminen, sekä session käsittely: kirjautuminen (login) sekä uloskirjautuminen (logout). Muuta koodia niin, että vain kirjautuneena voi lisätä uuden uutisen. Vaihda napit niin, että aluksi näkyvillä ovat napit: rekisteröidy, kirjaudu ja kirjautuneena näkyvillä on luo uusi uutinen sekä kirjaudu ulos.
Lisää uutisen yhteyteen linkki, jonka avulla sen voi poistaa ja toinen linkki, jonka avulla sitä saa muokattua (uutinen aukeaa lomakkeeseen). Päästä vain kirjautuneena olevat käyttäjät lisäämään, poistamaan sekä muokkamaan uutisia.
Ota käyttöön ympäristömuuttujat .env-tiedoston kautta. .env-tiedosto sisältää tietokannan käyttöön liittyvät tiedot (käyttäjätunnus, salasana, database url, database name).
Ota käyttöön tietokantojen hallintaohjelma (Phinx) ja tee tietokannastasi migrations-tiedosto. Testaa se lokaalin Postgres-tietokannan kanssa. Testaa ohjelmasi toimivuus lokaalin Postgres-tietokannan avulla.
Tee Herokuun uusi projekti, aja tietokantasi Herokuun Phinx:in avulla. Päivitä PHP-koodisi Github:iin ja linkitä repo Herokuun.