Artikels

Wat is Laravel, hoe dit werk en basiese argitektuur vir die skep van WEB-toepassings

Laravel is 'n PHP-gebaseerde webraamwerk vir die bou van hoë-end webtoepassings, met behulp van sy eenvoudige en kragtige sintaksis.

Die Laravel PHP-raamwerk kom met 'n stewige versameling gereedskap en bied die argitektuur aan die toepassings wat geproduseer word. Dit is 'n oopbron PHP-raamwerk wat die MVC-argitektuur gebruik:

  • Raamwerk: Dit is die versameling metodes, klasse of lêers wat die programmeerder gebruik, en hy kan ook die funksionaliteit daarvan uitbrei deur sy eie kode te gebruik.
  • Argitektuur: Dit is die spesifieke ontwerppatroon wat die raamwerk volg. Laravel volg die MVC-argitektuur.

MVC

Akroniem bestaan ​​uit drie letters, die betekenis volg:

  • M: Model. 'n Model is 'n klas wat handel oor 'n databasis. Byvoorbeeld, as ons gebruikers in 'n toepassing het, dan sal ons 'n gebruikersmodel hê wat sorg vir die navraag van die gebruikerstabel, as ons 'n gebruikersmodel het, dan sal ons ook 'n gebruikerstabel hê.
  • V: Beskou. 'n Aansig is 'n klas wat handel oor alles wat ons oor die toepassing in die blaaier kan sien.
  • C: Kontroleur. 'n Beheerder is die middelman wat sorg vir beide die model en die uitsig. 'n Beheerder is die klas wat data van die model af haal en dit na die aansigklas stuur.

Voordele en kenmerke

Skep van magtiging en verifikasie stelsels

Elke webtoepassing-eienaar moet seker wees dat ongemagtigde gebruikers nie toegang tot beskermde hulpbronne het nie. Laravel bied 'n maklike manier om verifikasie te implementeer. Dit bied ook 'n eenvoudige manier om magtigingslogika te organiseer en toegang tot hulpbronne te beheer.

Integrasie met gereedskap

Laravel is geïntegreer met baie instrumente wat 'n vinniger toepassing skep. Jy hoef nie net die toepassing te bou nie, maar ook 'n vinniger toepassing te bou. Integrasie met kas-agterkant is een van die hoofstappe om die werkverrigting van 'n webtoepassing te verbeter. Laravel is geïntegreer met 'n paar gewilde kas-agtergronde soos Redis en Memcached.

Posdiensintegrasie

Laravel is geïntegreer met die posdiens. Hierdie diens word gebruik om kennisgewing-e-posse te stuur. Dit bied 'n skoon en eenvoudige API waarmee u vinnig e-pos via 'n plaaslike of wolkgebaseerde diens kan stuur.

Toets outomatisering

Om 'n produk te toets is baie belangrik om te verseker dat die sagteware sonder foute, foute en ineenstortings werk: wanneer 'n nuwe weergawe vrygestel word. Ons weet dat outomatiese toetsing minder tyd neem as handmatige toetsing, veral vir nie-regressietoetsing. Laravel is ook ontwikkel met toetsing in gedagte.

Skeiding van besigheidslogika-kode van aanbiedingskode

Die skeiding tussen besigheidslogika-kode en aanbiedingskode laat HTML-uitlegontwerpers toe om die voorkoms te verander sonder om met ontwikkelaars te kommunikeer. 'n Fout kan vinniger deur ontwikkelaars opgelos word as skeiding tussen die besigheidslogika-kode (Beheerder) en aanbiedingskode (View) verskaf word. Ons weet dat Laravel die MVC-argitektuur volg, so skeiding is 'n fundamentele element.

Remediëring van die mees algemene tegniese kwesbaarhede

Laravel is 'n veilige raamwerk aangesien dit die webtoepassing teen alle sekuriteitskwesbaarhede beskerm. Kwesbaarheid is een van die belangrikste aspekte in die ontwikkeling van webtoepassings. Die Amerikaanse organisasie OWASP Foundation, defielimineer groot sekuriteitskwesbaarhede soos SQL-inspuiting, versoekvervalsing, scripting, ensovoorts.

CRON: beplanning van konfigurasie en bestuursaktiwiteite

WEB-toepassings vereis altyd taakskeduleringsmeganismes om take betyds te skeduleer en uit te voer. Byvoorbeeld, wanneer om e-pos aan intekenare te stuur of wanneer om databasistabelle aan die einde van die dag skoon te maak. Om take te skeduleer, moet ontwikkelaars die Cron-inskrywing vir elke taak skep, en die Laravel-bevelskeduleerder defibevelbeplanning eindig.

Laravel projek skepping

Om jou eerste Laravel-projek te skep, moet jy die Composer geïnstalleer. As dit nie op jou masjien teenwoordig is nie, gaan voort met die installasie soos beskryf in ons artikel oor komponis.

Skep dan 'n nuwe gids in jou stelsel vir jou nuwe Laravel-projek. Gaan dan na die pad waar u die nuwe gids geskep het, en voer die skep projek-opdrag uit composer create-project, tik die volgende opdrag:

composer create-project laravel/laravel myex-app

Hierdie opdrag (weergawe 9.x) skep die genoemde projek myex-app

Of jy kan nuwe projekte skep Laravel deur die installeerder wêreldwyd te installeer Laravel beteken Composer:

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.
composer global require laravel/installer
laravel new myex-app

Nadat u die projek geskep het, begin die plaaslike Laravel-ontwikkelingsbediener deur die opdrag te gebruik serve Dell 'Artisan CLI van Laravel:

php artisan serve

Nadat u die ontwikkelingsbediener begin het Artisan, sal jou toepassing toeganklik wees in jou webblaaier by http://localhost:8000. Nou is jy gereed om te gebruik Laravel. U kan natuurlik ook 'n databasis opstel.

Toepassingstruktuur in Laravel

Laravel-struktuur is basies die struktuur van dopgehou, subgidse en lêers wat by 'n projek ingesluit is. Sodra 'n projek in Laravel geskep is, kan ons die struktuur van die toepassing sien soos getoon in die Laravel-wortelgidsprent:

Config

Die config-lêergids bevat geassosieerde konfigurasies en parameters wat nodig is vir die behoorlike funksionering van 'n Laravel-toepassing. Die verskillende lêers wat in die config-lêergids ingesluit is, word in die prent hieronder gelys. Die lêername verteenwoordig die konfigurasiebestekke.

DataBase

Hierdie gids bevat verskeie parameters vir databasisfunksionaliteit. Dit bevat drie subgidse:

  • Sade: Bevat die klasse wat gebruik word vir die eenheidstoetsdatabasis;
  • Migrasies: hierdie gids word gebruik om die DB-struktuur te genereer en in lyn te bring met die toepassing;
  • Fabrieke: Hierdie gids word gebruik vir die generering van 'n groot aantal datarekords.
Openbare

Dit is die hoofgids wat help om die Laravel-toepassing te inisialiseer, dit wil sê die begin van die toepassing. Sluit die volgende lêers en vouers in:

  • .htaccess: lêer wat die bedienerkonfigurasie verskaf;
  • javascript en css: bevat al die hulpbronlêers van die Laravel-toepassing;
  • index.php: lêer wat nodig is vir die inisiasie van 'n webtoepassing.
hulpbronne

Die Hulpbronne-gids bevat lêers wat die webtoepassing verbeter. Die subgidse wat in hierdie gids ingesluit is en hul doel:

  • bates: gids bevat lêers soos MINDER en SCSS, wat nodig is vir die webtoepassingstyl;
  • lang: sluit konfigurasie vir lokalisering of internalisering in;
  • sienings: Dit is die HTML-lêers of sjablone wat met eindgebruikers in wisselwerking tree en 'n primêre rol in die MVC-argitektuur speel.
stoor

Dit is die gids wat al die logs en lêers stoor wat nodig is wanneer 'n Laravel-projek loop. Hieronder is die subgidse wat in hierdie gids ingesluit is en hul doel −

  • toepassing: hierdie lêergids bevat die lêers wat agtereenvolgens herroep word;
  • raamwerk: bevat sessies, kas en aansigte wat gereeld genoem word;
  • Logs: Bevat lêers wat looptydprobleme opspoor, spesifiek alle uitsonderings en foutlogboeke.
Toetss

Alle eenheidtoetsgevalle is in hierdie gids vervat. Die benaming vir toetsgevalklasse is camel_case en volg die konvensie gebaseer op die funksionaliteit van die klas.

Ondernemer

Laravel is gebaseer op bestuurde afhanklikhede komponis, byvoorbeeld om die Laravel-opstelling te installeer of om derdeparty-biblioteke in te sluit, ens.

Die Vendor-lêergids bevat al die afhanklikhede van komponis.

Ercole Palmeri

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.

Onlangse artikels

Die voordele van inkleurbladsye vir kinders - 'n wêreld van magie vir alle ouderdomme

Die ontwikkeling van fyn motoriese vaardighede deur inkleur berei kinders voor vir meer komplekse vaardighede soos skryf. Om in te kleur...

2 Mei 2024

Die toekoms is hier: hoe die verskepingsbedryf die wêreldekonomie revolusioneer

Die vlootsektor is 'n ware globale ekonomiese moondheid, wat na 'n 150 miljard-mark navigeer het ...

1 Mei 2024

Uitgewers en OpenAI onderteken ooreenkomste om die vloei van inligting wat deur Kunsmatige Intelligensie verwerk word, te reguleer

Verlede Maandag het die Financial Times 'n ooreenkoms met OpenAI aangekondig. FT lisensieer sy wêreldklas-joernalistiek ...

30 April 2024

Aanlynbetalings: Hier is hoe stroomdienste jou vir altyd laat betaal

Miljoene mense betaal vir stromingsdienste en betaal maandelikse intekengeld. Dit is algemene opinie dat jy...

29 April 2024