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-ի ճարտարապետական հիմքի հիմնական հատկություններն են՝

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


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


== Տես նաև ==
CodeIgniter
Symfony
Sinatra
Yii


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


== Գրականություն ==
Shawn McCool Laravel Starter. — Կաղապար:Нп3, 2012. — 64 p. — ISBN 978-1-78216-091-5
Люк Веллинг, Лора Томсон Разработка веб-приложений с помощью PHP и MySQL. — 5-е изд.. — СПб.: «Диалектика», 2019. — С. 768. — ISBN 978-5-9908911-9-7Luke Welling, Laura Thomson PHP & MySQL Web Development. — fifth edition. — «Addison-Wesley», 2017. — С. 687. — ISBN 978-0-321-83389-1


== Հղումներ ==
Официальный сайт - Laravel.com(անգլ.)
Репозиторий пакетов для Laravel(անգլ.)
Сайт русского сообщества Laravel
Конференция Laracon(անգլ.)
Чат Telegram для начинающих Laravel-программистов - Laravel для начинающих(ռուս.)
Уроки Laravel на русском языке
Инструменты для разработки на Laravel
Рейтинг фреймворков 2019