Changes between Version 30 and Version 31 of Имплементација


Ignore:
Timestamp:
12/22/21 11:59:39 (2 years ago)
Author:
vangel.ajanovski
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Имплементација

    v30 v31  
    33
    44== Организација на изворен код ==
    5 
    6 
    7 {{{#!rbox type="note" width="15em"
    8 Намерно референцирате Hello World демо од GitHub?
    9 
    10 Мислев да го референцирате вашиот оригинален репозиториум на GitHub, или пак генералната страница на GitHub ако не сакате оригиналниот репозиториум.
    11 
    12 Линкот до кодот го сменив - да си биде експлицитно излистан.
    13 }}}
    14 
    15 {{{#!rbox type="comment" width="15em"
    16 Корегирав. Сега линкот води кон репото на SaveSpace.
    17 }}}
    185
    196За контрола врз верзиите на изворниот код ја користев алатката Git. Иницијалниот репозиториум за изворниот код на апликацијата го креирав на Github [11] платформата за хостирање или зачувување на код.
     
    3926
    4027
    41 {{{#!rbox type="note" width="15em"
    42 Многу е долго поделете го во сегменти
    43 }}}
    44 {{{#!rbox type="comment" width="15em"
    45 Корегирано
    46 }}}
    4728
    4829- **Root Directory**\\
    4930
    50 Во Laravel Root Directory се нарекува главниот директориум каде се наоѓа целиот изворен код од апликацијата. App директориумот на апликацијата го содржи основниот код на апликација. Директориумот Config, како што имплицира името, ги содржи сите конфигурациски датотеки на апликација. Database директориумот ги содржи миграциите на базата на податоци, вредностите кои се запишуваат за моделот и семиња за тестирање на датабазата. Public директориум ја содржи датотеката index.php, која е влезна точка за сите барања што влегуваат во апликацијата и го конфигурира автоматското вчитување. Во овој директориум се сместени и  сликите како и интерфејсите на апликацијата.\\
    51 
    52 Resources директориумот ги содржи фронтенд делот т.е. интерфејсите на апликацијата кои ќе бидат рендерирани во соодветен код за приказ на прелистувач, како на пример некомпајлирани скрипти. Во овој директориум се сместени сите јазични датотеки. Директориумот Routes ги содржи сите дефиниции за рути за апликацијата. Иницијално, неколку датотеки со рути се вклучени со Laravel: web.php, api.php, console.php и channels.php. Датотеката web.php содржи рути кои ги поставува во групата веб-базиран софтвер, која обезбедува контрола на сесија, заштита од CSRF и шифрирање на колачиња. Во мојот пример сите рути се дефинирани во web.php датотеката.\\
    53 
    54 Storage директориумот за складирање ги содржи сите компајлирани шаблони како и конфигурацијата за зачувување на датотеки. Директориумот на апликации може да се користи за складирање на сите датотеки генерирани од апликацијаta. Vendor директориумот ги содржи сите зависности од Composer [13] кој што претставува управуавач на зависносни пакети во PHP. \\
     31 Во Laravel Root Directory се нарекува главниот директориум каде се наоѓа целиот изворен код од апликацијата. App директориумот на апликацијата го содржи основниот код на апликација. Директориумот Config, како што имплицира името, ги содржи сите конфигурациски датотеки на апликација. Database директориумот ги содржи миграциите на базата на податоци, вредностите кои се запишуваат за моделот и семиња за тестирање на датабазата. Public директориум ја содржи датотеката index.php, која е влезна точка за сите барања што влегуваат во апликацијата и го конфигурира автоматското вчитување. Во овој директориум се сместени и  сликите како и интерфејсите на апликацијата.\\
     32
     33 Resources директориумот ги содржи фронтенд делот т.е. интерфејсите на апликацијата кои ќе бидат рендерирани во соодветен код за приказ на прелистувач, како на пример некомпајлирани скрипти. Во овој директориум се сместени сите јазични датотеки. Директориумот Routes ги содржи сите дефиниции за рути за апликацијата. Иницијално, неколку датотеки со рути се вклучени со Laravel: web.php, api.php, console.php и channels.php. Датотеката web.php содржи рути кои ги поставува во групата веб-базиран софтвер, која обезбедува контрола на сесија, заштита од CSRF и шифрирање на колачиња. Во мојот пример сите рути се дефинирани во web.php датотеката.\\
     34
     35 Storage директориумот за складирање ги содржи сите компајлирани шаблони како и конфигурацијата за зачувување на датотеки. Директориумот на апликации може да се користи за складирање на сите датотеки генерирани од апликацијаta. Vendor директориумот ги содржи сите зависности од Composer [13] кој што претставува управуавач на зависносни пакети во PHP. \\
    5536
    5637- **App Directory**
    5738
    58 Поголемиот дел од апликацијата е сместен во директориумот App кој содржи дополнителни директориуми како што се Console, Http и Providers. Во директориумот Console додадов clearAll класа која што како една команда ми заменува четири команди во исто време за чистење на кеш и конфигурација на апликацијата. Директориумот Http ги содржи контролерите, конфигурацијата за автентикација и валидациските класи за моделите. Речиси целата логика за справување со барањата кои влегуваат во апликацијата се запишани во овој директориум. Директориумот Models ги содржи сите класи на Eloquent модели. Eloquent ORM [https://laravel.com/docs/8.x/eloquent] вклучен во Laravel обезбедува едноставна имплементација за работа со базата на податоци. Секоја табела со база на податоци има соодветен „модел“ кој се користи за интеракција со одредена табела. Директориумот Notifications иницијално не постои, но се креира автоматски со командата Artisan make:notification. Истиот ги содржи сите известувања што ги испраќа апликацијата, како што се едноставни известувања за настани што се случуваат во апликацијата. Во конкретниот пример во овој директориум има датотеки во кои се дефинирани методи преку кои праќам нотификација за промена или заборавена лозинка, верификација на кориснички профил, промена на е-адреса како и OTP код за верификација на најавата преку маил.
    59 
    60 {{{#!rbox type="note" width="15em"
    61 Оваа слика од развојната околина со делче од кодот за најава мислам дека не е соодветна тука. Не знам зошто е потребна. Во текстот не ја спомнувате.
    62 Тука е најдобро да ставите организациска шема со структурата на кодот.
    63 }}}
    64 {{{#!rbox type="comment" width="15em"
    65 Корегирано. Се обидов да направам screenshot од целата организациска структура на проектот кој што го опишувам погоре.
    66 }}}
     39 Поголемиот дел од апликацијата е сместен во директориумот App кој содржи дополнителни директориуми како што се Console, Http и Providers. Во директориумот Console додадов clearAll класа која што како една команда ми заменува четири команди во исто време за чистење на кеш и конфигурација на апликацијата. Директориумот Http ги содржи контролерите, конфигурацијата за автентикација и валидациските класи за моделите. Речиси целата логика за справување со барањата кои влегуваат во апликацијата се запишани во овој директориум. Директориумот Models ги содржи сите класи на Eloquent модели. Eloquent ORM [https://laravel.com/docs/8.x/eloquent] вклучен во Laravel обезбедува едноставна имплементација за работа со базата на податоци. Секоја табела со база на податоци има соодветен „модел“ кој се користи за интеракција со одредена табела. Директориумот Notifications иницијално не постои, но се креира автоматски со командата Artisan make:notification. Истиот ги содржи сите известувања што ги испраќа апликацијата, како што се едноставни известувања за настани што се случуваат во апликацијата. Во конкретниот пример во овој директориум има датотеки во кои се дефинирани методи преку кои праќам нотификација за промена или заборавена лозинка, верификација на кориснички профил, промена на е-адреса како и OTP код за верификација на најавата преку маил.
     40
    6741
    6842[[Image(project_structure.png)]]