2025-12-25 00:02:39 +01:00

18 lines
2.0 KiB
Markdown

1. Umesto `getCategories` bolje nazvati funkciju `parseCategories` zato sta `get...` 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.
2. `createUsers` osim 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 klas `User` koji će imati `createUser` koji uzimaju prototip objekata od klasa User. A za kreiranje random korisnika biće funkcija izvan `createRandomUsers`
> 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
3. Isto iz drugog koraka, bolje uraditi klasu `User` i vratiti umesto asociativnog niza prototip klasa `User` sa svima metodami za odbradu i poljami.
3. Bolje logiku za `User` ostaviti samo u klasu, kreirati `LEVELS` konstantu u klase nego u config.php koji odgovara za sav aplikaciju.
4. 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).