**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:.

```
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:.

```
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:.

```
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.

```
php artisan make:seeder BooksTableSeeder

```

Laraveli projekti struktuur
---------------------------

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
------

1. 1 2  Till Krüss (8. mai 2018). "Latest release".  (inglise). Till Krüss. Vaadatud 11.06.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
2. 1 2 3 4 5  "Laravel History".  (inglise). Vaadatud 31.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
3. ↑  "Artisan Console".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
4. 1 2 3  "Eloquent ORM".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
5. ↑  "Blade Templates".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
6. 1 2  "Database: Migrations".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
7. ↑  "HTTP-МАРШРУТИЗАЦИЯ".  (inglise). Originaali arhiivikoopia seisuga 7.05.2018. Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
8. ↑  Paul Redmond (6. detsember 2017). "Laracon US 2018 Announces Speaker Evan You".  (inglise). Paul Redmond. Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
9. ↑  Eric L. Barnes (19. juuli 2016). "Envoyer – The PHP deployer is now launched".  (inglise). Eric L. Barnes. Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
10. ↑  "Lumen".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
11. ↑  "Spark".  (inglise). Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)
12. ↑  "Laravel Horizon".  (inglise). Originaali arhiivikoopia seisuga 30.07.2017. Vaadatud 16.05.2018. `{{cite web}}`: välislink kohas ``|website=`` (juhend)

Välislingid
-----------

|  |  |
| --- | --- |
|  | Pildid, videod ja helifailid Commonsis: **Laravel** |

* Ametlik koduleht