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


Ignore:
Timestamp:
11/14/21 19:01:51 (3 years ago)
Author:
151545
Comment:

--

Legend:

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

    v10 v11  
    1111=== - Имплементациски дијаграм ===
    1212Во овој дел ќе бидат прествени и објаснати одредени функционалности од системот кои се користат нај често во рамки на системот. Ќе започнам со објаснување за начинот на креирање на оддел кој што е предуслов за креирање на фолдер т.е. документ.\\
    13 Во MVC системот Model е објект кој се состои од податоци во одредена табела во база. View го претставува интерфејсот преку кој корисникот комуницира со апликацијата. Кога корисникот презема акција, контролорот се справува со акцијата и ги ажурира податоците во база преку моделот доколку е потребно.\\
    14 Во Laravel, Model обично е класа со променливи што одговараат на колоните во базата на податоци т.е. променливите кои се дефинирани во Migrations во одредена табела. Контролерите се одговорни за завршување на корисничките дејства и за управување со деловната логика на апликацијата. Рутирањето на ресурсите во Laravel ги доделува „CRUD“ операциите или функциите дефинирани во контролерот со една линија код.\\
     13Во MVC системот моделот е објект кој се состои од податоци во одредена табела во база. View го претставува интерфејсот преку кој корисникот комуницира со апликацијата. Кога корисникот презема акција, контролорот се справува со акцијата и ги ажурира податоците во база преку моделот доколку е потребно.\\
     14Во Laravel, моделот обично е класа со променливи што одговараат на колоните во базата на податоци т.е. променливите кои се дефинирани во Migrations во одредена табела. Контролерите се одговорни за завршување на корисничките дејства и за управување со деловната логика на апликацијата. Рутирањето на ресурсите во Laravel ги доделува „CRUD“ операциите или функциите дефинирани во контролерот со една линија код.\\
     15
     16{{{
     17class Department extends Model
     18{
     19    use HasFactory;
     20
     21    protected $table = "departments";
     22
     23    protected $fillable = ["name", "code", "location", "user_id", "no_of_folders"];
     24
     25    protected $casts = [
     26        'created_at' => 'datetime:d-m-Y',
     27    ];
     28
     29    public function folder(){
     30        return $this->hasMany(Folder::class);
     31    }
     32
     33    public function getCreatedByName()
     34    {
     35        return User::where('id', $this->user_id)->pluck('username')->first();
     36    }
     37}
     38}}}
     39
     40''Department моделот''\\
     41Во горенаведениот код се запишани променливите кои претходно биле дефнирани во табелата Departments. Исто така во овој дел се дефинираат и релации помеѓу два или повеке модели. Во конкретниот случај е дефинирана релација помеѓу Department и Folder моделот каде што се означува дека еден оддел може да има неколку фолдери. Може да се дефинираат и методи кои влечат одредени податоци од истиот модел како што методот getCreatedByName() кој го наоѓа корисничкото име од User модел-от и истиот може потоа да се прикаже во интерфејс на апликацијата преку класата Department.
    1542
    1643{{{
     
    2249    }
    2350}}}
    24 \\
     51
    2552''Метод од контролерот DepartmentsController за приказ на сите оддели запишани во база''\\
    2653Методот index се повикува кога рутата /departments е вчитана со методот GET HTTP. Во овој метод, ние ги преземаме сите достапни  податоци во табелата со оддели користејќи го моделот Department и го пренесуваме во интерфејсот вкако променлива. Ова значи дека во интерфејсот, променливата $departments ќе може да се користи за да се прикажат податоци од колекцијата која ги состои сите оддели.
     
    3259    });
    3360
    34     // Departments manage
     61// Departments manage
    3562    Route::group(['middleware' => 'permission:manage_all_departments'], function () {
    3663        Route::post("/departments/store", "Dashboard\DepartmentsController@store")->name("dashboard.departments.store");
     
    3966     });
    4067}}}
    41 
    4268
    4369''Листа на рути за оддели''\\
     
    7197    }
    7298}}}
     99''Метод од контролерот DepartmentsController за креирање на нов оддел''\\
     100Како што може да се види и во кодот методот како влезен параметар има објект од класата NewDepartmentRequest каде што се прави валидацијата на променливите од моделот Department.
    73101
    74102
    75103
    76 Во Ларавел, сите интерфејси се зачувани во директориумот ресурси/прегледи. Вашите погледи обично го складираат HTML-от на вашата страница и се презентациски слој на архитектурата MVC.
    77 Ларавел го користи Blade како мотор за шаблони. Блејд е прилично HTML, но со некоја синтакса слична на PHP што може да се инјектира.
    78 
    79 
    80 На пример, доколку креирате контролер што се справува со сите HTTP барања за „оддели“ запишани во вашата апликација. Методот за складирање се повикува кога корисникот испраќа барање POST HTTP до рутата /departments. Од горе наведената логика се добиваат податоците од барањето и се складираат во базата на податоци користејќи го моделот Department.
    81