Laravel är det mest populära PHP-ramverket, med mer än 1,2 miljoner webbplatser byggda på det. Sedan lanseringen i juni 2011 har Laravel uppmärksammats av många webbutvecklare och presenterat sig som det mest använda PHP-ramverket.
Laravel erbjuder en snabb utvecklingsmiljö, säkerhet och bra utvecklarguider. Skapat och underhållet av dess skapare Taylor Otwell, har Laravel fortsatt att göra förbättringar av sin programvara. Den följer ett semantiskt versionsschema och finns för närvarande på version 8.x.
Här är åtta nya funktioner att hålla utkik efter i Laravel 8.
1. Laravel Jetstream
Detta är den nya applikationsställningsfunktionen i Laravel. Den kommer med funktioner som sessionsspårning, inloggning, registrering, e-postverifiering, tvåfaktorsautentisering och valfri teamhantering.
Jetstream erbjuder två ställningsalternativ att välja på: Livewire och Inertia.
Livewire är ett lyhört och dynamiskt bibliotek som erbjuder möjligheten att undvika att använda ett JavaScript-ramverk som Vue.js. Den använder standardspråket för Blade-mall. Livewire erbjuder också flexibiliteten att välja mellan att lämna Blade eller använda Vue.js.
Inertia använder Vue.js som sitt mallspråk.
Det ger full kraft av Vue.js utan behov av routing på klientsidan. Om Vue är ditt föredragna mallspråk, är Inertia-stacken ett bra val.
2. Migration Squashing
När du utvecklar din applikation kan dina migreringar byggas upp. Du kan “squash” dem till en enda SQL-fil för att undvika skrammel. Det här alternativet är tillgängligt för MySQL- eller PostgreSQL-användare.
Laravel kommer att skapa en schemafil när kommandot schema:dump avrättas. När du försöker migrera din databas kommer Laravel först att migrera SQL-filen som är kopplad till ditt schema. Därefter, om det finns några migreringar som inte var en del av schemat, kommer de att köras.
3. Medvind CSS
Laravel använder nu Tailwind CSS-ramverket som sin standardpaginator. Tailwind är ett CSS-verktyg-först-bibliotek som tillhandahåller engångs-CSS-klasser. Det ger fördelen av att ha din stylinginformation på ett ställe snarare än att ha den utspridda. Du kan tillämpa fördefinierade klasser direkt på ditt HTML-dokument.
Tailwind erbjuder också möjligheten att bygga responsiva designs. Det erbjuder ett mobilt första system som liknar Bootstrap. Detta innebär att verktyg utan prefix svarar på alla skärmstorlekar medan prefixade verktyg träder i kraft vid vissa punkter.
Tailwind har också ett just-in-tidsläge aktiverat för att få dina stilar genererade på begäran istället för att få allt renderat vid den första byggtiden. Detta gör det snabbare än att använda vanlig CSS. En annan fördel som detta erbjuder är att du inte behöver bli av med dina oanvända produktionsstilar, vilket ger dig möjligheten att använda din kod i flera miljöer.
Det är också intressant att notera att Laravel Jetstream byggdes med Tailwind.
4. Jobbatching
Du kan använda den här funktionen för att köra en grupp jobb vid en given tidpunkt och utföra en viss åtgärd när exekveringen är klar. De Buss fasad tillhandahåller en batch-metod som låter dig skicka jobb.
Du kan utföra detta tillsammans med andra slutförande återuppringningar som fånga, sedan och till sist för att lägga till funktionalitet till dina jobb.
use AppJobsProcessPodcast;
use AppPodcast;
use IlluminateBusBatch;
use IlluminateSupportFacadesBus;
use Throwable;
$batch = Bus::batch([
new ProcessPodcast(Podcast::find(1)),
new ProcessPodcast(Podcast::find(2)),
new ProcessPodcast(Podcast::find(3)),
new ProcessPodcast(Podcast::find(4)),
new ProcessPodcast(Podcast::find(5)),
])->then(function (Batch $batch) {
// All jobs completed successfully...
})->catch(function (Batch $batch, Throwable $e) {
// First batch job failure detected...
})->finally(function (Batch $batch) {
// The batch has finished executing...
})->dispatch();
return $batch->id;
För att komma igång måste du skapa en migreringstabell som kommer att innehålla jobbmetadata såsom slutförandefrekvenser. Använd kommandot php artisan queue:batches-table att göra detta. Och då php artisan migrera att migrera dem. Du kan nu definiera dina batchbara jobb och sedan skicka när du är klar.
5. Modellfabriksklasser
Låt oss först diskutera modellfabriker. Dessa används för att se dina databaser med testdata. Denna falska data är viktig för teständamål innan någon riktig användardata infogas.
I Laravel 8 har de tidigare Eloquent-modellklasserna helt ersatts med klassbaserade fabriker. Med detta kan du nu hantera objekttillstånd genom att helt enkelt använda metoder. Dessa metoder kallar vanligtvis stat() metod, som ges i Laravels basfabriksklass. De stat() Metoden tar in som ett argument en funktion som tar in en rad attribut som tilldelats fabriken.
6. Förbättrat underhåll
Tidigare hade Laravel en tillåten lista över IP-adresser som du kan använda för att komma åt programmet i underhållsläge. Denna har tagits bort och ersatts med en enklare “hemlig” lösning. Du kan ange bypass-token med hjälp av hemlighet alternativ.
När du är i underhållsläge kan du komma åt din applikations-URL och Laravel skickar automatiskt bypass-cookien till din webbläsare. När cookien har utfärdats kommer du normalt åt programmet som om det inte var i underhållsläge.
Dina användare kan möta fel om du använder PHP hantverkare ner under utplaceringen. För att undvika detta erbjuder Laravel alternativet att återge en underhållslägesvy som kommer att returneras när en begäran görs. Du kan förrendera en mall genom att använda alternativet render på nedkommandot.
7. Time Testing Helpers
Laravel inkluderar nu möjligheten att göra det möjligt för dig att manipulera den aktuella tiden. Du har möjlighet att använda dina tidsattribut som millisekunder, timmar, dagar och så vidare.
public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();
// Travel into the past...
$this->travel(-5)->hours();
// Travel to an explicit time...
$this->travelTo(now()->subHours(6));
// Return back to the present time...
$this->travelBack();
}
Dessa hjälpfunktioner gör ditt arbete snyggt och lätt att följa genom att ge beskrivande namn på metoderna.
8. Förbättrad hastighetsbegränsning
Med hastighetsbegränsning kan du hantera mängden trafik du får på en viss rutt eller grupp av rutter. Detta kan uppnås med hjälp av spjäll mellanvara. Gasspjällsmellanvaran tar in namnet på den hastighetsbegränsare du vill använda på en rutt. En HTTP-begärankod (429) returneras om den inkommande begäran överskrider en given hastighetsgräns.
I Laravel 8 har hastighetsbegränsaren byggts med mer flexibilitet samtidigt som den fortfarande har bakåtkompatibilitet. Återuppringningsfunktionen för hastighetsbegränsare låter dig dynamiskt bygga lämpliga taxeringsgränser som fastställts för autentiserade användare eller inkommande förfrågningar.
Spännande tider framför Laravel
Laravel är lätt att lära sig och ger en utarbetad utvecklarguide med lätta att följa exempel. Det tillhandahåller buggfixar och korrigeringar nästan varje vecka och stora utgåvor årligen (cirka september). Om du behöver mer hjälp tillhandahåller Laravel Laracasts-plattformen där du kan få experthjälp. Plattformen ger dock betalda webbutvecklingslektioner.
För en webbutvecklare är Laravel en färdighet som måste ha. Det är öppen källkod, free att använda och med en community på över 40 000 användare. Det är en teknik värd att hålla reda på.
Om författaren
Jerome Davidson (33 artiklar publicerade)
Jerome är personalskribent på MakeUseOf. Han täcker artiklar om programmering och Linux. Han är också en kryptoentusiast och håller alltid koll på kryptoindustrin.
Mer från Jerome Davidson
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
