Laravel

**Laravel** on avatud lähtekoodiga veebiraamistik. Lähtekood on paigutatud GitHubis. Laraveli väljatöötaja on Taylor Otwell.

## Ajalugu
Taylor Otwell avaldas 2011. aasta 9. juunil Laraveli raamistiku beetaversiooni ja kuu aega hiljem Laraveli 1 täisversiooni. Laravel 1 sisaldab sisseehitatud autentimist, lokaliseerimist, mudeleid ja palju muud.

2011. aasta septembris ilmus Laraveli teine versioon. Alates Laraveli teisest versioonist on seal sisseehitatud kontrolleri tugi, Blade mallimootor, kontrollipõhimõtte inversioon. Laravel 2 loetakse MVCiga täielikult ühilduvaks, kuid kolmandate osapoolte pakettide tugi on eemaldatud.

2013. aasta veebruaris ilmus Laraveli kolmas versioon. Selles versioonis lisati Artisani käsurida, mis pakub rakenduse arendamiseks kasulike käskude komplekti. Andmebaasiga töötamiseks on lisatud migratsioon. Versioon Laravel 3 on muutunud kõige stabiilsemaks versiooniks. Alates sellest versioonist on Laravel kasutajate seas populaarne.

Kuigi Laravel 3 oli kõige töökindlam ja stabiilsem versioon, kirjutas arendaja raamistiku ümber ja 2013. aasta maikuus ilmus Laraveli neljas versioon, mille pealkiri on Illuminate. Laravel 4 oli oluline uuendus. Selle versiooniga hakati Laraveli haldama Composeri sõltuvusjuhi kaudu, veel lisati võimalus andmebaaside täitmiseks testiandmetega.

2015. aasta veebruaris ilmus Laraveli viies versioon. Selles versioonis olid raamistiku tuumikus globaalsed muutused.

2018. aasta juuni seisuga on Laraveli uusim versioon 5.6.12.
Iga uue Laraveli versiooniga lisatakse uus funktsioon, parandatakse vanad vead.

## Omadused
### Artisan
Artisan on sisseehitatud Laraveli käsurea liides. See pakub käskude komplekti, mis on rakenduse arendamisel kasulikud. Kõige kättesaadavamate käskude loendi kuvamiseks kasutage list:.

```text
php artisan list
```

### Eloquent ORM
Objekti-relatsiooni andmeteisenduse (ORM) süsteem on suurepärane ja lihtne realisatsioon, et töötada Laravelis ActiveRecordi malli andmebaasidega. Igal tabelil on vastav klassimudel, mida kasutatakse selle tabeliga töötamiseks.

Enne käivitamist konfigureerige oma ühendus andmebaasiga config/database.php failis.

Eloquent mudelit saab luua käsuga Artisan model:.

```text
php artisan make:model Book
```

### Blade mallimootor
Blade on Laraveli varustatud mall. See toetab kõiki vajalikke toiminguid, nagu autentimine, seansid, vahemälu salvestamine ja RESTful marsruutimine. Blade mallimootori failid kasutavad laiendit blade.pxp ja tavaliselt säilitatakse resources/views kataloogis.
### Migratsioonid
Migratsioonid on nagu teie andmebaasi versiooni kontroll. Need võimaldavad teie meeskonnal muuta andmebaasi struktuuri, olles samal ajal kursis teiste osalejate muutustega.

Migratsiooni loomiseks kasutage make: migration Artisan käsku:.

```text
php artisan make:migration create_books_table
```

### Marsruut
Enamik marsruute on määratletud rakenduse /Http/routes.php failis, mille laadib teenusepakkuja App\Providers\RouteServiceProvider. Laravelis koosneb lihtsaim marsruutimine URI-ist ja sulgemisfunktsioonist.
### Andmed andmebaasisse
Laravelil on lihtne meetod andmebaaside täitmiseks algandmetega, kasutades klasse algandmete täitmiseks.

```text
php artisan make:seeder BooksTableSeeder
```


## Laraveli projekti struktuur

Laraveli struktuur on järgmine:
* App – sisaldab kogu rakenduse peamist osa: mudeleid, kontrollereid, pakkujaid.
* Bootstrap – sisaldab vahemälu kausta rakenduse tõhusamaks töötamiseks ja faili autokäivitamise seadistamiseks.
* Config – sisaldab kõiki konfiguratsioonifaile. Näiteks saate konfigureerida andmebaasi config / database.php failis.
* Database – sisaldab migratsioone ja klasse algandmete täitmiseks andmebaasis.
* Public – sisaldab ressursse, mida vajate saidi ilusaks toimimiseks, näiteks css, pildid, JavaScript.
* Resources – sisaldab keelefaile, vaateid.
* Routes – sisaldab kõiki marsruute.
* Storage – sisaldab kaustasid app, framework ja logs. Framework kaust salvestab raamistiku vahemälu: logs kaust, nagu nimigi eeldab, sisaldab projekti logisid.
* Tests – sisaldab teste. Tühi projekt sisaldab juba ühte testi.
* Vendor – sisaldab Composeri sõltuvusjuhti.

## Laracon
Laracon on iga-aastane Laravel konverents. Seal saab kohtuda paljude Laraveli kogukonna liikmetega ja kuulata ettekandeid tarkvaratehnika kunsti jm kohta.

## Ökosüsteem
Ökosüsteem – nii kutsutakse Laravelis täiendavaid projekte.
### Envoyer
Envoyer kasutuselevõtu teenus.
### Lumen
Lumen on tarkvararaamistik, mis põhineb Laraveli komponentidel. See on kiire PHP infrastruktuur veebirakenduste loomiseks.
### Spark
Laravel Spark on Saas – rakenduste kiirendamiseks mõeldud tööriist, mis töötleb kasutaja autoriseerimist, ajastatud sündmusi ja muud.
### Horizon
Horizon pakub Laravel Redisi järjekordade jaoks paneeli ja koodipõhist konfiguratsioonisüsteemi. Horizon näitab reaalajas koormuste järjekorda, hiljutisi ja ebaõnnestunud ülesandeid, ürituste taaskäivitamist, ribalaiust.
## Viited

## Välislingid

* Ametlik koduleht