- Umesto
getCategoriesbolje nazvati funkcijuparseCategorieszato staget...podrazumeva samo dobijanje podataka (npr., iz db), a ne odbradu string-a.
U fajlu category.php pozvati funkciju getCategories. Ovu funkciju napisati u functions.php fajlu. Funkcija getCategories STRIKTNO prima promenljivu $cat = " na2t5u25re spo12r54t funn82y cake2! 8sea au#!tumn!"; i vraća niz koji sadrži reči koje se sastoje SAMO iz brojeva i slova i čija je dužina podatka veća od 4.
createUsersosim toga, sta kreira korisnika rade parsiranje iz string-ova i autogenerisanje random podataka šta predstavlja God Function i uništava Single Responsibility Principle. Bolje uraditi klasUserkoji će imaticreateUserkoji uzimaju prototip objekata od klasa User. A za kreiranje random korisnika biće funkcija izvancreateRandomUsers
Kreirati funkciju createUsers i smestiti je u fajl functions.php. Pozvati ovu funkciju u fajlu users.php. Niz $names = ['ChrIS2','JohHn2','3toM','rAY','AxEl', '1bOraT'] i niz $level = ['admin','reporter','guest'] smestiti u fajl config.php. Funkcija createUsers treba striktno da prima odgovarajuće parametre i da striktno vrati niz sa 3 korisnika. Niz users treba da poseduje 3 podniza sa indeksima: username, password, hashed_password, age, name, email, level. Primenom funkcije array_map sve vrednosti u nizu names promeniti tako da se uklone svi brojevi i da samo prvi karakter bude veliko slovo
-
Isto iz drugog koraka, bolje uraditi klasu
Useri vratiti umesto asociativnog niza prototip klasaUsersa svima metodami za odbradu i poljami. -
Bolje logiku za
Userostaviti samo u klasu, kreiratiLEVELSkonstantu u klase nego u config.php koji odgovara za sav aplikaciju. -
Nemamo ponavljanjih imena ('ChrIS2','JohHn2','3toM','rAY','AxEl', '1bOraT') i zato taj uslov nikada nece biti ispunjen.
Ukoliko je već korišćeno neko ime u nizu, dodati slučajni broj između 10 i 200 na kraj username-a (na primer useraxel123).