Laravel is het meest populaire PHP-framework, met meer dan 1,2 miljoen websites erop gebouwd. Sinds de release in juni 2011 heeft Laravel de aandacht van veel webontwikkelaars getrokken en zichzelf gepresenteerd als het meest gebruikte PHP-framework.
Laravel biedt een snelle ontwikkelomgeving, beveiliging en goede ontwikkelaarsgidsen. Laravel is gemaakt en onderhouden door de maker Taylor Otwell en is doorgegaan met het verbeteren van zijn software. Het volgt een semantisch versieschema en bevindt zich momenteel op versie 8.x.
Hier zijn acht nieuwe functies om op te letten in Laravel 8.
1. Laravel Jetstream
Dit is de nieuwe functie voor steigers in Laravel. Het wordt geleverd met kant-en-klare functies zoals sessietracking, login, registratie, e-mailverificatie, tweefactorauthenticatie en optioneel teambeheer.
Jetstream biedt de keuze uit twee steigeropties: Livewire en Inertia.
Livewire is een responsieve en dynamische bibliotheek die de mogelijkheid biedt om het gebruik van een
JavaScript-framework zoals Vue.js. Het gebruikt de standaard Blade-sjabloontaal. Livewire biedt ook de flexibiliteit om te kiezen tussen het verlaten van Blade of het gebruik van Vue.js.Inertia gebruikt Vue.js als sjabloontaal.
Lees verder: Wat is Vue.js?
Het geeft de volledige kracht van Vue.js zonder dat er routering aan de clientzijde nodig is. Als Vue uw voorkeurstaal is voor sjablonen, dan is de Inertia-stack een goede keuze.
2. Migratie verpletteren
Terwijl u uw applicatie ontwikkelt, kunnen uw migraties toenemen. U kunt ze in een enkel SQL-bestand "squashen" om het gekletter te vermijden. Deze optie is beschikbaar voor MySQL- of PostgreSQL-gebruikers.
Laravel zal een schemabestand maken wanneer het commando schema: dump is geëxecuteerd. Wanneer u uw database probeert te migreren, migreert Laravel eerst het SQL-bestand dat aan uw schema is gekoppeld. Als er daarna migraties zijn die geen deel uitmaakten van het schema, worden deze uitgevoerd.
3. Tailwind CSS
Laravel gebruikt nu het Tailwind CSS-framework als standaard paginator. Tailwind is een CSS utility-first-bibliotheek die CSS-klassen voor eenmalig gebruik biedt. Het biedt het voordeel dat je je stylinginformatie op één plek hebt in plaats van dat deze verspreid is. U kunt vooraf gedefinieerde klassen rechtstreeks op uw HTML-document toepassen.
Tailwind biedt ook de mogelijkheid om responsieve ontwerpen te bouwen. Het biedt een mobiel eerste systeem vergelijkbaar met dat van Bootstrap. Dit houdt in dat niet-vooraf vastgestelde hulpprogramma's op alle schermformaten reageren, terwijl vooraf ingestelde hulpprogramma's op bepaalde punten van kracht worden.
Tailwind beschikt ook over een just-in-time-modus die is ingeschakeld om uw stijlen on-demand te laten genereren in plaats van dat alles tijdens de eerste build wordt weergegeven. Dit maakt het sneller dan het gebruik van gewone CSS. Een ander voordeel dat dit biedt, is dat u uw ongebruikte productiestijlen niet hoeft te verwijderen, waardoor u uw code in meerdere omgevingen kunt gebruiken.
Het is ook interessant om op te merken dat Laravel Jetstream is gebouwd met Tailwind.
4. Job Batching
U kunt deze functie gebruiken om een batch taken op een bepaald moment uit te voeren en een bepaalde actie (s) uit te voeren wanneer de uitvoering ervan is voltooid. De Bus gevel biedt een batchmethode waarmee u opdrachten kunt verzenden.
U kunt dit samen met andere callbacks voor voltooiing uitvoeren, zoals vangst, dan en Tenslotte om functionaliteit aan uw vacatures toe te voegen.
gebruik App \ Jobs \ ProcessPodcast;
gebruik App \ Podcast;
gebruik Illuminate \ Bus \ Batch;
gebruik Illuminate \ Support \ Facades \ Bus;
gebruik Throwable;
$ batch = Bus:: batch ([
nieuwe ProcessPodcast (Podcast:: find (1)),
nieuwe ProcessPodcast (Podcast:: find (2)),
nieuwe ProcessPodcast (Podcast:: find (3)),
nieuwe ProcessPodcast (Podcast:: find (4)),
nieuwe ProcessPodcast (Podcast:: find (5)),
]) -> then (function (Batch $ batch) {
// Alle taken met succes voltooid ...
}) -> catch (function (Batch $ batch, Throwable $ e) {
// Eerste batchtaakfout gedetecteerd ...
}) -> eindelijk (function (Batch $ batch) {
// De batch is klaar met uitvoeren ...
}) -> verzending ();
retourneer $ batch-> id;
Om aan de slag te gaan, moet u een migratietabel maken die taakmetagegevens zoals voltooiingspercentages bevat. Gebruik het commando php artisan-wachtrij: batches-table om dit te doen. En dan php artisan migreren om ze te migreren. U kunt nu uw batchbare taken definiëren en vervolgens verzenden als u klaar bent.
5. Model Fabriek Klassen
Laten we eerst modelfabrieken bespreken. Deze worden gebruikt om uw databases te zaaien met testgegevens. Deze nepgegevens zijn belangrijk voor testdoeleinden voordat er echte gebruikersgegevens worden ingevoegd.
In Laravel 8 zijn de voormalige Eloquent-modelklassen volledig vervangen door op klassen gebaseerde fabrieken. Hiermee kunt u objecttoestanden nu eenvoudig beheren met behulp van methoden. Deze methoden noemen meestal het staat() methode, die wordt gegeven in de Laravel-basisfabrieksklasse. De staat() method neemt als argument een functie in die een reeks attributen zal aannemen die aan de fabriek zijn toegewezen.
6. Verbeterd onderhoud
Eerder had Laravel een lijst met toegestane IP-adressen die u zou kunnen gebruiken om toegang te krijgen tot de applicatie in de onderhoudsmodus. Dit is verwijderd en vervangen door een eenvoudigere "geheime" oplossing. U kunt het bypass-token specificeren met de geheim keuze.
In de onderhoudsmodus heeft u toegang tot uw applicatie-URL en zal Laravel de bypass-cookie automatisch naar uw browser sturen. Zodra de cookie is uitgegeven, krijgt u normaal gesproken toegang tot de applicatie alsof deze zich niet in de onderhoudsmodus bevond.
Uw gebruikers kunnen fouten tegenkomen als u de PHP gebruikt artisanaal naar beneden tijdens inzet. Om dit te voorkomen, biedt Laravel de optie om een onderhoudsmodusweergave weer te geven die wordt geretourneerd wanneer een verzoek wordt gedaan. U kunt een sjabloon vooraf renderen met behulp van de renderoptie in het down-commando.
7. Tijdtesthelpers
Laravel bevat nu de mogelijkheid om u in staat te stellen de huidige tijd te manipuleren. U heeft de mogelijkheid om uw tijdattributen te gebruiken als milliseconden, uren, dagen, enzovoort.
openbare functie testTimeCanBeManipulated ()
{
// Reis naar de toekomst ...
$ this-> travel (5) -> milliseconden ();
$ this-> travel (5) -> seconden ();
$ this-> travel (5) -> minuten ();
$ this-> travel (5) -> hours ();
$ this-> travel (5) -> dagen ();
$ this-> travel (5) -> weken ();
$ this-> travel (5) -> jaar ();
// Reis naar het verleden ...
$ this-> travel (-5) -> hours ();
// Reis naar een expliciete tijd ...
$ this-> travelTo (now () -> subHours (6));
// Keer terug naar de huidige tijd ...
$ this-> travelBack ();
}
Deze hulpfuncties maken uw werk netjes en gemakkelijk te volgen door beschrijvende namen aan de methoden te geven.
8. Verbeterde snelheidsbeperking
Met tariefbeperking kunt u de hoeveelheid verkeer die u op een bepaalde route of groep routes ontvangt, beheren. Dit kan worden bereikt met behulp van de throttle middleware. De throttle-middleware neemt de naam over van de snelheidsbegrenzer die u op een route wilt gebruiken. Een HTTP-verzoekcode (429) wordt geretourneerd als het inkomende verzoek een bepaalde snelheidslimiet overschrijdt.
In Laravel 8 is de snelheidsbegrenzer gebouwd met meer flexibiliteit en toch achterwaartse compatibiliteit. Met de functie voor het terugbellen van de snelheidsbegrenzer kunt u dynamisch geschikte snelheidslimieten bouwen voor geverifieerde gebruikers of inkomende verzoeken.
Er komen spannende tijden aan voor Laravel
Laravel is gemakkelijk te leren en biedt een uitgebreide handleiding voor ontwikkelaars met gemakkelijk te volgen voorbeelden. Het biedt bijna wekelijks bugfixes en patches en jaarlijks grote releases (rond september). Als u meer hulp nodig heeft, biedt Laravel het Laracasts-platform waar u deskundige hulp kunt krijgen. Het platform biedt echter betaalde webontwikkelingslessen.
Voor een webontwikkelaar is Laravel een vaardigheid die je moet hebben. Het is open source, gratis te gebruiken en met een gemeenschap van meer dan 40.000 gebruikers. Het is een technologie die het waard is om bij te houden.
Geïnteresseerd in het leren van geavanceerde webontwikkeling? Vermijd het schrijven van repetitieve code, gebruik in plaats daarvan deze webontwikkelingsframeworks.
Lees Volgende
- Programmeren
- Webontwikkeling
- PHP programmeren
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.