Հոդվածներ

Ինչ է Laravel-ը, ինչպես է այն աշխատում և հիմնական ճարտարապետությունը WEB հավելվածներ ստեղծելու համար

Laravel-ը PHP-ի վրա հիմնված վեբ շրջանակ է՝ բարձրակարգ վեբ հավելվածներ ստեղծելու համար՝ օգտագործելով իր պարզ, բայց հզոր շարահյուսությունները:

Laravel PHP շրջանակը գալիս է գործիքների ամուր հավաքածուով և ապահովում է արտադրված հավելվածների ճարտարապետությունը: Այն բաց կոդով PHP շրջանակ է՝ օգտագործելով MVC ճարտարապետությունը.

  • Շրջանակ:-ը մեթոդների, դասերի կամ ֆայլերի հավաքածու է, որն օգտագործում է ծրագրավորողը և կարող է նաև ընդլայնել դրանց ֆունկցիոնալությունը՝ օգտագործելով իր սեփական կոդը:
  • ճարտարապետություն: դիզայնի կոնկրետ օրինակն է, որին հետևում է շրջանակը: Laravel-ը հետևում է MVC ճարտարապետությանը:

mvc

Երեք տառից կազմված հապավումը հետևյալն է.

  • MԿաղապար: Մոդելը դաս է, որը գործ ունի տվյալների բազայի հետ: Օրինակ, եթե մենք ունենք օգտատերեր հավելվածում, ապա մենք կունենանք օգտվողների մոդել, որը պատասխանատու է օգտվողների աղյուսակի հարցումների համար, եթե մենք ունենք օգտվողների մոդել, ապա կունենանք նաև օգտվողների աղյուսակ:
  • V: Դիտել. View-ը դաս է, որը հոգ է տանում այն ​​ամենի մասին, ինչ մենք կարող ենք տեսնել հավելվածի մասին բրաուզերում:
  • C: Կարգավորիչներ. Կարգավորիչը միջնորդն է, որը հոգ է տանում և՛ մոդելի, և՛ տեսարանի մասին: Կարգավորիչը այն դասն է, որը տվյալներ է վերցնում մոդելից և ուղարկում դիտման դասին:

Առավելությունները և առանձնահատկությունները

Թույլտվության և վավերացման համակարգերի ստեղծում

Վեբ հավելվածի յուրաքանչյուր սեփականատեր պետք է վստահ լինի, որ չարտոնված օգտվողները չեն մուտք գործում պաշտպանված ռեսուրսներ: Laravel-ը տրամադրում է նույնականացման հեշտ միջոց: Այն նաև ապահովում է թույլտվության տրամաբանությունը կազմակերպելու և ռեսուրսների հասանելիությունը վերահսկելու հեշտ միջոց:

Ինտեգրում գործիքների հետ

Laravel-ը ինտեգրված է բազմաթիվ գործիքների հետ, որոնք ստեղծում են ավելի արագ հավելված: Անհրաժեշտ է ոչ միայն ստեղծել հավելվածը, այլև ստեղծել ավելի արագ հավելված: Քեշավորման հետին պլանի հետ ինտեգրվելը վեբ հավելվածի արդյունավետությունը բարելավելու հիմնական քայլերից մեկն է: Laravel-ը ինտեգրված է որոշ հանրաճանաչ քեշավորման հետին մասերի հետ, ինչպիսիք են Redis-ը և Memcached-ը:

Փոստի ծառայության ինտեգրում

Laravel-ը ինտեգրված է փոստային ծառայության հետ: Այս ծառայությունն օգտագործվում է ծանուցման նամակներ ուղարկելու համար: Այն ապահովում է մաքուր և պարզ API, որը թույլ է տալիս արագ էլփոստ ուղարկել ներտնային կամ ամպի վրա հիմնված ծառայության միջոցով:

Փորձարկման ավտոմատացում

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

Բիզնեսի տրամաբանական կոդի բաժանումը ներկայացման կոդից

Բիզնեսի տրամաբանական կոդի և ներկայացման կոդի տարանջատումը թույլ է տալիս HTML դասավորության դիզայներներին փոխել տեսքն ու զգացողությունը՝ առանց մշակողների հետ շփվելու: Սխալը կարող է շտկվել մշակողների կողմից ավելի արագ, եթե ապահովվի բիզնես տրամաբանական կոդի (Controller) և ներկայացման կոդի (View) միջև տարանջատում: Մենք գիտենք, որ Laravel-ը հետևում է MVC ճարտարապետությանը, ուստի առանձնացումը կարևոր է:

Ամենատարածված տեխնիկական խոցելիության շտկում

Laravel-ը անվտանգ շրջանակ է, քանի որ այն պաշտպանում է վեբ հավելվածը անվտանգության բոլոր խոցելիություններից: Խոցելիությունը վեբ հավելվածների մշակման ամենակարեւոր ասպեկտներից մեկն է: Ամերիկյան OWASP Foundation կազմակերպությունը, defiնշում է անվտանգության հիմնական խոցելիությունները, ինչպիսիք են SQL ներարկումը, հարցումների կեղծումը, սկրիպտավորումը և այլն:

CRON. կոնֆիգուրացիայի և կառավարման գործողությունների պլանավորում

WEB հավելվածները միշտ պահանջում են առաջադրանքների պլանավորման մեխանիզմներ՝ առաջադրանքները ժամանակին պլանավորելու և կատարելու համար: Օրինակ՝ երբ պետք է նամակներ ուղարկել բաժանորդներին կամ երբ մաքրել տվյալների բազայի աղյուսակները օրվա վերջում: Առաջադրանքները պլանավորելու համար մշակողները պետք է ստեղծեն Cron մուտքը յուրաքանչյուր առաջադրանքի համար և Laravel հրամանի ժամանակացույցը defiավարտում է հրամանի պլանավորումը:

Laravel նախագծի ստեղծում

Ձեր առաջին Laravel նախագիծը ստեղծելու համար դուք պետք է ունենաք Composer Տեղադրվել. Եթե ​​այն չկա ձեր մեքենայի վրա, շարունակեք տեղադրել այն, ինչպես նկարագրված է մեր հոդվածում Կոմպոզիտոր.

Դրանից հետո ստեղծեք նոր գրացուցակ ձեր համակարգում ձեր նոր Laravel նախագծի համար: Հաջորդը, նավարկեք դեպի այն ուղին, որտեղ ստեղծել եք նոր գրացուցակը և գործարկեք ստեղծել նախագծի հրամանը composer create-projectմուտքագրելով հետևյալ հրամանը.

composer create-project laravel/laravel myex-app

Այս հրամանը (տարբերակ 9.x) ստեղծում է անվանումով նախագիծը myex-app

Կամ կարող եք ստեղծել նոր նախագծեր Laravel գլոբալ տեղադրող սարքի տեղադրում Laravel միջոց Composer:

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:
composer global require laravel/installer
laravel new myex-app

Նախագիծը ստեղծելուց հետո գործարկեք տեղական Laravel զարգացման սերվերը՝ օգտագործելով հրամանը serve of 'Artisan CLI-ի Laravel:

php artisan serve

Զարգացման սերվերը գործարկելուց հետո Artisan, ձեր հավելվածը հասանելի կլինի ձեր վեբ բրաուզերում՝ հասցեով http://localhost:8000. Այժմ դուք պատրաստ եք օգտագործել Laravel. Իհարկե, դուք կարող եք նաև ստեղծել տվյալների բազա:

Հավելվածի կառուցվածքը Laravel-ում

Laravel կառուցվածքը հիմնականում թղթապանակների, ենթաթղթապանակների և նախագծում ներառված ֆայլերի կառուցվածքն է: Laravel-ում նախագիծ ստեղծելուց հետո մենք կարող ենք տեսնել հավելվածի կառուցվածքը, ինչպես ցույց է տրված Laravel արմատային թղթապանակի պատկերում.

Config

Կազմաձևման թղթապանակը ներառում է կոնֆիգուրացիաներ և հարակից պարամետրեր, որոնք անհրաժեշտ են Laravel հավելվածի պատշաճ գործելու համար: Կազմաձևման թղթապանակում ներառված տարբեր ֆայլերը թվարկված են ստորև նկարում: Ֆայլերի անունները ներկայացնում են կազմաձևման շրջանակները:

Նյութերի բազա

Այս գրացուցակը ներառում է տվյալների բազայի ֆունկցիոնալության տարբեր պարամետրեր: Այն ներառում է երեք ենթագրքեր.

  • Սերմեր. պարունակում է միավորների փորձարկման տվյալների բազայի համար օգտագործվող դասերը.
  • Միգրացիաներ. այս թղթապանակը օգտագործվում է DB կառուցվածքի ստեղծման և հավելվածի հետ համապատասխանեցնելու համար.
  • Գործարաններ. Այս թղթապանակը օգտագործվում է մեծ թվով տվյալների գրառումներ ստեղծելու համար:
Public

Դա արմատային թղթապանակն է, որն օգնում է սկզբնավորել Laravel հավելվածը, այսինքն՝ հավելվածի մեկնարկը: Ներառում է հետևյալ ֆայլերը և թղթապանակները.

  • .htaccess. ֆայլ, որն ապահովում է սերվերի կոնֆիգուրացիա;
  • javascript և css. պարունակում են Laravel հավելվածի բոլոր ռեսուրսային ֆայլերը;
  • index.php. ֆայլ, որն անհրաժեշտ է վեբ հավելվածը սկզբնավորելու համար:
ռեսուրսներ

Ռեսուրսների գրացուցակը պարունակում է ֆայլեր, որոնք բարելավում են վեբ հավելվածը: Այս գրացուցակում ներառված ենթաթղթապանակները և դրանց նպատակը.

  • ակտիվներ. թղթապանակը ներառում է այնպիսի ֆայլեր, ինչպիսիք են LESS և SCSS, որոնք անհրաժեշտ են վեբ հավելվածի ոճի համար.
  • lang. ներառում է տեղայնացման կամ ներքինացման կոնֆիգուրացիա;
  • դիտումներ. HTML ֆայլեր կամ ձևանմուշներ են, որոնք փոխազդում են վերջնական օգտագործողների հետ և առաջնային դեր են խաղում MVC ճարտարապետության մեջ:
Պահեստ

Սա այն թղթապանակն է, որը պահում է բոլոր տեղեկամատյաններն ու ֆայլերը, որոնք անհրաժեշտ են, երբ աշխատում է Laravel նախագիծը: Ստորև ներկայացված են այս գրացուցակում ներառված ենթաթղթապանակները և դրանց նպատակը −

  • հավելված. այս թղթապանակը պարունակում է հաջորդաբար կանչվող ֆայլեր.
  • շրջանակ. պարունակում է նիստեր, քեշեր և դիտումներ, որոնք հաճախակի են կանչվում.
  • Գրանցամատյաններ. Պարունակում է ֆայլեր, որոնք հետագծում են գործարկման ժամանակի խնդիրները, հատկապես բոլոր բացառությունների և սխալների մատյանները:
փորձարկումs

Բոլոր միավորների փորձարկման դեպքերը պարունակվում են այս գրացուցակում: Փորձնական դեպքերի դասերի անվանումը camel_case է և հետևում է անվանման կոնվենցիային՝ հիմնված դասի ֆունկցիոնալության վրա:

Վաճառող

Laravel-ը հիմնված է կառավարվող կախվածությունների վրա Կոմպոզիտոր, օրինակ՝ տեղադրել Laravel կարգավորումը կամ ներառել երրորդ կողմի գրադարաններ և այլն։

Վաճառողի թղթապանակը պարունակում է բոլոր կախվածությունները Կոմպոզիտոր.

Ercole Palmeri

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Վերջին հոդվածները

Veeam-ն ունի ամենաընդգրկուն աջակցություն փրկագինին՝ պաշտպանությունից մինչև պատասխան և վերականգնում

Veeam-ի Coveware-ը կշարունակի տրամադրել կիբեր շորթման միջադեպերի արձագանքման ծառայություններ: Coveware-ը կառաջարկի դատաբժշկական և վերականգնման հնարավորություններ…

23 Ապրիլ 2024

Կանաչ և թվային հեղափոխություն. Ինչպես է կանխատեսելի սպասարկումը փոխակերպում նավթի և գազի արդյունաբերությունը

Կանխատեսելի սպասարկումը հեղափոխություն է անում նավթի և գազի ոլորտում՝ կայանի կառավարման նորարարական և ակտիվ մոտեցմամբ:…

22 Ապրիլ 2024

Մեծ Բրիտանիայի հակամենաշնորհային կարգավորիչը բարձրացնում է BigTech-ի ահազանգը GenAI-ի վերաբերյալ

Մեծ Բրիտանիայի CMA-ն նախազգուշացում է տարածել արհեստական ​​ինտելեկտի շուկայում Big Tech-ի վարքագծի վերաբերյալ: Այնտեղ…

18 Ապրիլ 2024

Casa Green. էներգետիկ հեղափոխություն կայուն ապագայի համար Իտալիայում

Շենքերի էներգաարդյունավետության բարձրացման նպատակով Եվրոպական միության կողմից ձևակերպված «Քեյս Գրին» հրամանագիրը իր օրենսդրական գործընթացն ավարտել է…

18 Ապրիլ 2024

Կարդացեք նորարարությունը ձեր լեզվով

Նորարարության տեղեկագիր
Բաց մի թողեք նորարարության մասին ամենակարևոր նորությունները: Գրանցվեք դրանք էլփոստով ստանալու համար:

Հետեւեք մեզ