Artikelen

Wat is Laravel, hoe het werkt en basisarchitectuur voor het maken van WEB-applicaties

Laravel is een op PHP gebaseerd webframework voor het bouwen van hoogwaardige webapplicaties, met behulp van eenvoudige maar krachtige syntaxis.

Het Laravel PHP-framework wordt geleverd met een solide verzameling tools en biedt de architectuur voor de geproduceerde applicaties. Het is een open source PHP-framework dat gebruikmaakt van de MVC-architectuur:

  • Achtergrond: is de verzameling methoden, klassen of bestanden die de programmeur gebruikt, en kan hun functionaliteit ook uitbreiden met zijn eigen code.
  • architectuur: is het specifieke ontwerppatroon dat het raamwerk volgt. Laravel volgt de MVC-architectuur.

mvc

Acroniem samengesteld uit drie letters, de betekenis is als volgt:

  • M: Sjabloon. Een model is een klasse die zich bezighoudt met een database. Als we bijvoorbeeld gebruikers in een applicatie hebben, hebben we een gebruikersmodel dat verantwoordelijk is voor het opvragen van de gebruikerstabel. Als we een gebruikersmodel hebben, hebben we ook een gebruikerstabel.
  • V: Weergave. Een weergave is een klasse die zorgt voor alles wat we kunnen zien over de toepassing in de browser.
  • C: Beheerders. Een controller is de intermediair die zorgt voor zowel het model als de view. Een controller is de klasse die gegevens uit het model ophaalt en naar de view-klasse stuurt.

Voordelen en functies

Opzetten van autorisatie- en authenticatiesystemen

Elke eigenaar van een webtoepassing moet er zeker van zijn dat onbevoegde gebruikers geen toegang krijgen tot beschermde bronnen. Laravel biedt een eenvoudige manier om authenticatie te implementeren. Het biedt ook een gemakkelijke manier om autorisatielogica te organiseren en de toegang tot bronnen te controleren.

Integratie met tools

Laravel is geïntegreerd met veel tools die een snellere app creëren. Het is niet alleen nodig om de app te maken, maar ook om een ​​snellere app te maken. Integratie met caching-backend is een van de belangrijkste stappen om de prestaties van een web-app te verbeteren. Laravel is geïntegreerd met enkele populaire caching-backends zoals Redis en Memcached.

Integratie van mailservices

Laravel is geïntegreerd met de mailservice. Deze service wordt gebruikt om e-mailmeldingen te verzenden. Het biedt een schone en eenvoudige API waarmee u snel e-mail kunt verzenden via een lokale of cloudgebaseerde service.

Automatisering testen

Het testen van een product is erg belangrijk om er zeker van te zijn dat de software zonder fouten, bugs en crashes werkt - telkens wanneer een nieuwe versie wordt uitgebracht. We weten dat geautomatiseerd testen minder tijd kost dan handmatig testen, vooral voor non-regressietesten. Laravel is ook ontwikkeld met het oog op testen.

Scheiding van bedrijfslogicacode van presentatiecode

Door de scheiding van bedrijfslogicacode en presentatiecode kunnen HTML-lay-outontwerpers de look en feel veranderen zonder tussenkomst van ontwikkelaars. Een bug kan door ontwikkelaars sneller worden verholpen als er een scheiding wordt aangebracht tussen bedrijfslogicacode (Controller) en presentatiecode (View). We weten dat Laravel de MVC-architectuur volgt, dus scheiding is essentieel.

Oplossing van de meest voorkomende technische kwetsbaarheden

Laravel is een veilig raamwerk omdat het de webapplicatie beschermt tegen alle beveiligingsproblemen. Kwetsbaarheid is een van de belangrijkste aspecten bij de ontwikkeling van webapplicaties. De Amerikaanse organisatie OWASP Foundation, defilost grote beveiligingsproblemen op, zoals SQL-injectie, verzoekvervalsing, scripting, enzovoort.

CRON: planning van configuratie- en beheeractiviteiten

WEB-applicaties vereisen altijd mechanismen voor taakplanning om taken op tijd te plannen en uit te voeren. Bijvoorbeeld wanneer u e-mails naar abonnees moet sturen of wanneer u databasetabellen aan het eind van de dag moet opruimen. Om taken te plannen, moeten ontwikkelaars voor elke taak de Cron-invoer en de Laravel-opdrachtplanner maken defibeëindigt de opdrachtplanning.

Creatie van Laravel-projecten

Om je eerste Laravel-project te maken, heb je de Composer geïnstalleerd. Als het niet aanwezig is op uw machine, installeer het dan zoals beschreven in ons artikel over Componist.

Maak daarna een nieuwe map in uw systeem voor uw nieuwe Laravel-project. Navigeer vervolgens naar het pad waar u de nieuwe map hebt gemaakt en voer de opdracht create project uit composer create-projectdoor de volgende opdracht te typen:

composer create-project laravel/laravel myex-app

Deze opdracht (versie 9.x) maakt het project met de naam myex-app

Of u kunt nieuwe projecten maken Laravel globaal installeren van het installatieprogramma van Laravel tramite Composer:

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.
composer global require laravel/installer
laravel new myex-app

Start na het maken van het project de lokale Laravel-ontwikkelserver met de opdracht serve van 'Artisan CLI van Laravel:

php artisan serve

Na het starten van de ontwikkelingsserver Artisan, is uw applicatie toegankelijk in uw webbrowser op http://localhost:8000. Nu bent u klaar voor gebruik Laravel. Het kan natuurlijk ook zijn dat u een database wilt opzetten.

Applicatiestructuur in Laravel

De Laravel-structuur is in feite de structuur van mappen, submappen en bestanden die in een project zijn opgenomen. Zodra een project in Laravel is gemaakt, kunnen we de structuur van de applicatie zien zoals weergegeven in de Laravel-hoofdmapafbeelding:

Config

De configuratiemap bevat configuraties en bijbehorende parameters, die nodig zijn om een ​​Laravel-toepassing correct te laten werken. De verschillende bestanden in de configuratiemap worden weergegeven in de onderstaande afbeelding. Bestandsnamen vertegenwoordigen configuratiebereiken.

DataBase

Deze map bevat verschillende parameters voor databasefunctionaliteit. Het bevat drie submappen:

  • Seeds: bevat de klassen die worden gebruikt voor de unit test-database;
  • Migraties: deze map wordt gebruikt voor het genereren en afstemmen van de DB-structuur met de applicatie;
  • Fabrieken: Deze map wordt gebruikt voor het genereren van een groot aantal gegevensrecords.
Publieke

Het is de hoofdmap die helpt bij het initialiseren van de Laravel-applicatie, d.w.z. de start van de applicatie. Bevat de volgende bestanden en mappen:

  • .htaccess: bestand dat de serverconfiguratie levert;
  • javascript en css: bevatten alle bronbestanden van de Laravel-applicatie;
  • index.php: bestand dat nodig is om een ​​webapplicatie te initialiseren.
Resources

De map Resources bevat bestanden die de webtoepassing verbeteren. De submappen in deze map en hun doel:

  • activa: map bevat bestanden zoals LESS en SCSS, die nodig zijn voor de stijl van de webapplicatie;
  • lang: inclusief configuratie voor lokalisatie of internalisatie;
  • views: zijn de HTML-bestanden of sjablonen die communiceren met eindgebruikers en een primaire rol spelen in de MVC-architectuur.
Opbergen

Dit is de map waarin alle logboeken en bestanden worden opgeslagen die nodig zijn wanneer een Laravel-project wordt uitgevoerd. Hieronder staan ​​de submappen in deze map en hun doel −

  • app: deze map bevat de bestanden die achtereenvolgens worden aangeroepen;
  • framework: bevat sessies, caches en views die vaak worden aangeroepen;
  • Logboeken: Bevat bestanden die runtime-problemen traceren, vooral alle logboeken met uitzonderingen en fouten.
tests

Alle unit-testcases bevinden zich in deze directory. De naamgeving voor testcaseklassen is camel_case en volgt de naamgevingsconventie op basis van de functionaliteit van de klasse.

Verkoper

Laravel is gebaseerd op beheerde afhankelijkheden Componist, bijvoorbeeld om Laravel-instellingen te installeren of om bibliotheken van derden toe te voegen, enz.

De map Vendor bevat alle afhankelijkheden van Componist.

Ercole Palmeri

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.

Recente artikelen

De toekomst is hier: hoe de scheepvaartindustrie een revolutie teweegbrengt in de wereldeconomie

De marinesector is een echte mondiale economische macht, die is genavigeerd naar een markt van 150 miljard...

1 mei 2024

Uitgevers en OpenAI ondertekenen overeenkomsten om de informatiestroom die door kunstmatige intelligentie wordt verwerkt, te reguleren

Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...

April 30 2024

Online betalingen: hier is hoe streamingdiensten u voor altijd laten betalen

Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…

April 29 2024

Veeam biedt de meest uitgebreide ondersteuning voor ransomware, van bescherming tot respons en herstel

Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...

April 23 2024