Laravel

**Laravel**, անվճար, բաց կոդով վեբ-ֆրեյմվորք, որը մշակված է MVC ճարտարապետական մոդելի (անգլ. ՝ Model View Controller) մշակման համար։ Laravel- ը թողարկվում է MIT լիցենզիայի ներքո։

Ծրագրի սկզբնական կոդը տեղադրված է GitHub- ում։ 2013 թ.-ի դեկտեմբերին sitepoint.com հարցման արդյունքում ՝ PHP- ի ամենահայտնի շրջանակների համար, **Laravel-ը**  դասվել է 2014 թ.-ի ամենահեռանկարային նախագիծը։

2015-ին sitepoint.com- ի հարցման արդյունքում ՝ ծրագրավորողների շրջանում PHP շրջանակների օգտագործման վերաբերյալ, նա զբաղեցրեց առաջին տեղը հետևյալ անվանակարգերում.
* Ձեռնարկության մակարդակի ֆրեյմվորք
* Անհատական ծրագրերի ֆրեյմվորք
* Հակադետերի գանձարան

## Պատմություն
Laravel- ը ստեղծվել է Թեյլոր Օթվելի կողմից որպես  CodeIgniter- ի ավելի ֆունկցիոնալ այլընտրանք, որը չի տրամադրում տարբեր լրացուցիչ հնարավորություններ։ Laravel-ի առաջին բետա թողարկումը հասանելի է դարձել 2011 թվականի հունիսի 9-ին, որին հաջորդել է նույն ամսվա ուշ `Laravel 1-ի թողարկումը։ Laravel 1-ը ներառում էր ներկառուցված աջակցություն վավերացման, տեղայնացման, մոդելների, տեսակետների, նստաշրջանների, կառավարման և այլ մեխանիզմների համար։

Laravel 2-ը թողարկվել է 2011-ի սեպտեմբերին։ Հիմնական նոր առանձնահատկությունները ներառում էին վերահսկիչներին աջակցություն, որոնք framework-ն ամբողջությամբ դարձնում են MVC- ի համապատասխան, ներկառուցված հենակետ վերահսկողության շրջադարձի համար և Blade շարժիչի համար։

Laravel 3- ը թողարկվել է 2012-ի փետրվարին ՝ մի շարք նոր հնարավորություններով, այդ թվում ՝ հրամանի տողի միջերես (CLI), որը կոչվում է Artisan, ներկառուցված աջակցություն ՝ ավելի շատ տվյալների բազայի կառավարման համակարգերի, տվյալների բազայի միգրացիայի համար, որպես տվյալների բազայի վարկածի տարբերակների վերահսկման ձև, տվյալների բաշխման աջակցություն։ Laravel 3-ի թողարկումը ստացել է օգտագործողների թվի զգալի աճ, ինչը ազդել է դրա հանրաճանաչության վրա։

Laravel 4-ը թողարկվել է 2013-ի մայիսին։ Այն պատրաստվել է որպես Laravel- ի շրջանակի ամբողջական վերաշարադրում ՝ իր դասավորությունը տեղափոխելով Composer- ի միջոցով բաշխված առանձին փաթեթների մի շարք, որը ծառայում է որպես կիրառական մակարդակի փաթեթների կառավարիչ։ Նման դասավորությունը բարելավեց Laravel 4-ի ընդարձակելիությունը, որը զուգակցվեց իր պաշտոնական թողարկման ժամանակացույցով, որը վեց ամիս տևեց փոքր կետերի թողարկումների միջև։ Laravel 4-ի թողարկման մյուս նոր առանձնահատկությունները ներառում են տվյալների բազայի սերմնացում տվյալների բազաների սկզբնական տվյալների համար, հաղորդագրությունների հերթերի աջակցություն, տարբեր տեսակի էլփոստեր ուղարկելու ներկառուցված աջակցություն և տվյալների բազայի գրառումների հետաձգված ջնջման աջակցություն, որը կոչվում է փափուկ ջնջում։

Laravel 5-ը թողարկվել է  2015-ի փետրվարին ՝ ներքին փոփոխությունների արդյունքում, որոնք ավարտվել էին հետագայում կրկին վերահաշվարկելով Laravel 4.3-ի թողարկումը։ Laravel 5-ի թողարկման նոր գործառույթները ներառում էին Scheduler փաթեթի միջոցով կրկնվող առաջադրանքները պլանավորելու աջակցություն, Flysystem- ի աբստրակցիոն շերտ, որը թույլ է տալիս հեռավոր պահեստավորումն օգտագործել նույն ձևով, ինչպես տեղական ֆայլային համակարգերը, Elixir- ի միջոցով փաթեթային ակտիվների բարելավված գործածումը և պարզեցված արտաքին վավերացումը `ըստ ցանկության Socialite փաթեթի։ Laravel 5-ը նաև ներմուծեց նոր ներքին գրացուցակի ծառ կառուցվածքը ՝ մշակված կիրառական ծրագրերի համար։

Laravel 5.1-ը թողարկվել է 2015-ի թվականի հունիսին։ Դա Laravel- ի երկարաժամկետ աջակցության առաջին թողարկումն է (LTS)՝ թողարկված պլանավորված եռամյա շտկման և անվտանգության եռամյա ամրագրումներով։

Laravel 5.3 թողարկվել է 2016 թվականի օգոստոսի 23-ին։ 5.3-ի նոր առանձնահատկությունները կենտրոնանում են զարգացման արագության բարելավման վրա `հատուկ առաջադրանքների լրացուցիչ հավելումներ ավելացնելով։ .

Laravel 5.4- ը թողարկվել է 2017 թ.-ի հունվարի 24-ին, բազմաթիվ նոր հնարավորություններով, ինչպիսիք են Laravel Dusk- ը, Laravel Mix- ը, Blade բաղադրիչները և Slots-երը, Markdown Emails, ավտոմատ ֆասադները, կառավարման բարելավումը։

Laravel 5.5-ը թողարկվել է 2017 թվականի օգոստոսի 30-ին։ Այստեղ սխալների կարգաբերումը Whoops փաթեթը վերադարձվեց։ Նորամուծություններից էր հարցման մշակման եղանակը, Blade ձևանմուշի շարժիչի նոր հրահանգները, տվյալների շտեմարան ներմուծելու նոր հրահանգ՝migrate::fresh:

Laravel 7- ը թողարկվել է 2020-ի մարտի 19-ին։

## Laravel և [[նախագծման ձևանմուշներ]]
*ActiveRecord
*MVC
*Singleton 
*Factory 
*Registry
*Front Controller
*Facade 
*Presenter
*Dependency Injection (DI)
*Service Locator

## Հնարավորություններ
Laravel-ի ճարտարապետական հիմքի հիմնական հատկություններն են՝

* Փաթեթներ ()՝ թույլ են տալիս ստեղծել և միացնել մոդուլները Composer ձևաչափով Laravel հավելվածին։ Շատ լրացուցիչ հնարավորություններ արդեն առկա են որպես այդպիսի մոդուլներ։
* *Eloquent [[ORM]]* ՝ ActiveRecord նախագծման օրինակելի ձևավորում է PHP- ում։ Թույլ է տալիս խստորեն սահմանել տվյալների բազայի օբյեկտների միջև փոխհարաբերությունները։ Laravel- ի ստանդարտ Fluent հարցման շինարարը աջակցվում է Eloquent core- ի կողմից։
* Դիմումի տրամաբանություն՝ մշակված ծրագրի մի մասը, որը հայտարարվում է կամ կարգավորիչների կամ երթուղիների օգտագործմամբ (փակման գործառույթներ)։ Հռչակագրերի շարահյուսությունը նման է Սինատրայի շրջանակներում օգտագործված շարահյուսությանը։
* Հակադարձ երթուղղումը կապում է դիմումի միջոցով առաջ բերված հղումներն ու երթուղիները, ինչը թույլ է տալիս փոփոխել վերջինս ՝ միաժամանակ ավտոմատ կերպով թարմացնելով կապված հղումները։ Երբ ստեղծում եք հղումներ անուններով օգտագործվող երթուղիների միջոցով, Laravel- ը ինքնաբերաբար կստեղծի վերջնական URL- ներ։
* *[[REST]]-կարգավորիչներ՝ լրացուցիչ շերտ ` [[HTTP]] GET- ի և POST- ի հայցերը լուծելու տրամաբանությունը առանձնացնելու համար:*
* Դասի ինքնավարացում՝  PHP դասերի ավտոմատ բեռնման մեխանիզմ է `առանց դրանց սահմանման ֆայլերի ընդգրկման անհրաժեշտության։ Ըստ պահանջի ներբեռնումը կանխում է անհարկի բաղադրիչների ներբեռնումը։ միայն դրանք, որոնք իրականում օգտագործվում են, բեռնված են։
* Դիտման կոմպոզիտորներ ()՝ կոդերի բլոկ են, որոնք կատարվում են տեսակետը (ձևանմուշ) առաջացնելիս։
* Վերադարձի վերահսկում  ()՝ թույլ է տալիս ստանալ առարկաների օրինակներ ՝ հակառակ վերահսկման սկզբունքի համաձայն։ Այն կարող է օգտագործվել նաև singleton օբյեկտների ստեղծման և առբերման համար։
* Միգրացիա՝ տվյալների բազայի կառավարման տարբերակ է։ Թույլ է տալիս միավորել դիմումի ծածկագրում փոփոխությունները տվյալների բազայի կառուցվածքում կատարվելիք փոփոխությունների հետ, ինչը պարզեցնում է հայտի տեղակայումը և թարմացումը։
* Միավորի թեստավորում (միավորի թեստեր)՝ Laravel- ում շատ մեծ դեր է խաղում, որն ինքնին պարունակում է մեծ թվով թեստեր ՝ ռեգրեսիան կանխելու համար (սխալի թարմացումների կամ սխալի այլ շտկումների պատճառով առաջացած սխալները)։
* Պիգանացիա ()՝ պարզեցնում է էջի ստեղծումը `այս խնդրի լուծման տարբեր եղանակներ փոխարինելով Laravel-ում կառուցված մեկ մեխանիզմով։
* NoSQL վերափոխման աջակցություն 
* Բազմաթիվ պատրաստի կառավարման վահանակներ, ձևանմուշներ և CRUD
* Blade ձևանմուշի շարժիչ։
* ·CSS ձևանմուշները ներառելու ունակություն։

## Գիտաժողովներ
Laracon, Laravel- ի շրջանակային համաժողովների ընդհանուր անվանում ։ Առաջին գիտաժողովը տեղի է ունեցել 2013 թ.-ի փետրվարի 22-23-ը Վաշինգտոնում, ԱՄՆ։ Երկրորդը 2013 թ.-ի օգոստոսի 30-31-ը եղել է Ամստերդամում, Նիդեռլանդներում և առաջին եվրոպական Laracon-նն էր։ Երրորդ գիտաժողովը տեղի ունեցել 2014 թ. Մայիսի 15-16-ը ԱՄՆ-ի Նյու Յորք քաղաքում։ Բոլոր այս գիտաժողովները կազմակերպվում են UserScape- ի ակտիվ մասնակցությամբ և տարբեր հովանավորների օգնությամբ։

## Տես նաև
* CodeIgniter
* Symfony
* Sinatra
* Yii

## Ծանոթագրություններ

## Գրականություն
* 
* 

* 

## Արտաքին հղումներ
* Официальный сайт - Laravel.com
* Репозиторий пакетов для Laravel
* Сайт русского сообщества Laravel
* Конференция Laracon
* Чат Telegram для начинающих Laravel-программистов - Laravel для начинающих
*Уроки Laravel на русском языке
*Инструменты для разработки на Laravel 
*Рейтинг фреймворков 2019 

Կատեգորիա:MIT լիցենզիայով ծրագրային ապահովում
Կատեգորիա:Ծրագրային ապահովում այբբենական կարգով
Կատեգորիա:Ծրագրերի ազատ գրադարաններ