Changes between Version 21 and Version 22 of Имплементација
- Timestamp:
- 12/20/21 19:35:31 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Имплементација
v21 v22 18 18 Слободно наведете дека изворно работевте на Github и од таму е пренесен тука кодот за чување во проектниот простор на факултетот. 19 19 }}} 20 {{{#!box type= done20 {{{#!box type=comment 21 21 Корегирано 22 22 }}} … … 27 27 Недостасува краток опис на организацијата на датотеките. 28 28 }}} 29 {{{#!box type= todo29 {{{#!box type=comment 30 30 Корегирано 31 31 }}} 32 32 Структурата на датотеките во Laravel е по избор корисникот но за да е во тек со други апликации и разбирлива за другите добро е да се воздржиме на класичната MVC структура. Model-View-Controller (MVC) [https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm] е модел кој ја дели апликацијата на три главни логички компоненти: модел, приказ и контролер. Секоја од овие компоненти е изградена за да се справи со специфични развојни аспекти на апликацијата. MVC е една од најчесто користените индустриски стандардни рамки за развој на веб за креирање скалабилни и проширливи проекти. 33 33 34 Модел\\34 - Модел\\ 35 35 Компонентата Модел одговара на целата логика поврзана со податоци со која работи корисникот. Ова може да ги претставува или податоците што се пренесуваат помеѓу компонентите Приказ и контролер или кои било други податоци поврзани со деловната логика. На пример, објектот Customer ќе ги преземе информациите за клиентот од базата на податоци, ќе манипулира со нив и ќе ги ажурира податоците назад во базата на податоци или ќе ги користи за прикажување податоци. 36 36 37 Приказ\\37 - Приказ\\ 38 38 Компонентата View се користи за целата логика на UI на апликацијата. На пример, приказот на клиентите ќе ги вклучи сите компоненти на корисничкиот интерфејс, како што се текстуални полиња, паѓачки склопки, итн. со кои ќе комуницира конечниот корисник. 39 39 40 Контролер\\40 - Контролер\\ 41 41 Контролерите дејствуваат како интерфејс помеѓу компонентите на Model и View за да ја обработат целата деловна логика и дојдовните барања, да манипулираат со податоците користејќи ја компонентата Model и да комуницираат со Views за да го прикажат конечниот излез. На пример, контролорот на клиентите ќе се справи со сите интеракции и влезови од Приказот на клиентите и ќе ја ажурира базата на податоци користејќи го моделот на клиентите. Истиот контролер ќе се користи за прегледување на податоците на клиентот. 42 42 … … 48 48 49 49 50 51 52 50 == Имплементациски дијаграм 53 54 55 51 56 52 … … 103 99 ''Листа на рути за автентикација'' 104 100 101 Преку методот showLogin() го прикажувам интерфејсот за најава во апликацијата. Во методот login() се врши најавата. Во овој метод има два параметри од кои едниот е валидацијата на податоците преку барањето која се врши преку класата LoginRequest како и $hashid од класата HashId која ни помага при енкодирање на токенот за верификација на најавата. Во овој метод проверуваме дали корисникот постои во база, е активен т.е. дали креирал лозинка и се најавил во системот и дали има внесено точна лозинка. Потоа му се генеира безбедносен код кој ќе му биде испратен на е-пошта за верификација на најавата преку VerifyUser класата за праќање на нотификација како и токенот за верификација преку кој ќе се најави. По автентикација на корисникот ќе му се појави екранот за внес на кодот за верификација т.е. ќе се прати барање до контролерот VerifyLoginController. 102 105 103 {{{ 106 104 … … 154 152 ''Методи од контролерот LoginController за најава во апликацијата'' 155 153 156 Со помош на методот showLogin() го прикажуваме интерфејсот за најава во апликацијата. Во методот login() се врши најавата. Во овој метод има два параметри од кои едниот е валидацијата на податоците преку барањето која се врши преку класата LoginRequest како и $hashid од класата HashId која ни помага при енкодирање на токенот за верификација на најавата. Во овој метод проверуваме дали корисникот постои во база, е активен т.е. дали креирал лозинка и се најавил во системот и дали има внесено точна лозинка. Потоа му се генеира безбедносен код кој ќе му биде испратен на е-пошта за верификација на најавата преку VerifyUser класата за праќање на нотификација како и токенот за верификација преку кој ќе се најави. По автентикација на корисникот ќе му се појави екранот за внес на кодот за верификација т.е. ќе се прати барање до контролерот VerifyLoginController. 157 158 {{{ 159 public function toMail($notifiable) 160 { 161 $hashId = new Hashid(); 162 163 return (new MailMessage) 164 ->greeting("Login verification") 165 ->line("To verify click the button and enter your security code.") 166 ->line("Your security code is: " . $this->user->security_code) 167 ->action("Verify", route("verify-login.index", [ 168 "id" => $hashId->encode($this->user->id), 169 "token" => $this->user->verify_token 170 ])); 171 } 172 }}} 173 174 ''Метод од класата VerifyUser за праќање на верификацискиот код по е-пошта'' 154 Секогаш се почнува со приказ на интерфејсот т.е. index методот која служи за приказ на целата колекција од податоци. Откако корисникот ќе се најави ќе стигне барањето до методот verify кој ќе го прими барањето, ќе направи декодирање на претходно енкодираниот $hashid и ќе му дозволи на корисникот да се најави во системот. 175 155 176 156 {{{ … … 196 176 197 177 ''Методи од контролерот VerifyLoginController'' 198 199 Секогаш почнуваме со приказ на интерфејсот т.е. index методот која ни служи за приказ на целата колекција од податоци. Откако корисникот ќе се најави ќе стигне барањето до методот verify кој ќе го прими барањето, ќе направи декодирање на претходно енкодираниот $hashid и ќе му дозволи на корисникот да се најави во системот.200 201 178 202 179