Introduksjon til Laravel Route Controller

Disse kontrollerne lar deg lage dine kontrollklasser ved å bruke metoder som brukes til å håndtere forskjellige forespørsler. Det ville være mye enklere hvis vi forstår begrepet larvelrute controller med hjelp av et eksempel. Vi vil gå steg for steg for å få en god forståelse av rutekontrollere. Så her går vi med trinnene:

Hvordan lage Laravel Route Controller?

Her er noen av trinnene for å lage larve routing-kontrollere som blir forklart nedenfor:

Trinn 1: Det aller første trinnet ville være å lage en kontroller. Hvis du ikke er kjent med å opprette en kontroller, går du gjennom punktene nedenfor for å opprette en kontroller, ellers flytter du direkte til trinn 2 for rutekontrollere.

  • Bruk håndverkerkommandoen nedenfor for å opprette kontrolleren.

Kode:

Php artisan make: Controller MyController

  • MyController.php-filen opprettes hvis standardkode er som nedenfor.

Kode:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function show($id)
(
//
)
)

Trinn 2: Nå må du skrive denne ruten nedenfor i web.php-fil.

Kode:

Route::get('/post', ' ');

Her er den første parameteren URL som du vil ha tilgang til, og MyController er ganske åpenbart navnet på kontrolleren vår. "Showet" som du kan se i MyController.php-filen, er metoden. Så, @show her indikerer at showet () -metoden vil bli kalt når vi treffer URL '/ post'.

Trinn 3: Du kan nå legge til kodelinjer som vist nedenfor.

Kode:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
/**
*Display resource
*
*/
public function show($id)
(
//
)
/**
*Display resource listing
*
*/
public function index()
(
//
)
/**
*Editing resource
*
*/
public function edit($id)
(
//
)
)

Trinn 4: Nå er det på tide å treffe URL-en. Du vil få en spesifisert utgang etter at du har angitt URL-en. Forhåpentligvis har vi dekket nok innsikt fra kontrollører til at du kan få tilgang til kontrolleren din nå. La oss komme videre hvordan vi også kan overføre data til vår kontrollklasse. Igjen ville det være mye enklere hvis vi lærer å overføre data gjennom parametere til kontrolleren vår ved hjelp av et eksempel.

Dataoverføring til kontroller

1. Skriv denne ruten nedenfor i web.php-fil:

Kode:

Route::get('/post/(id)', ' ');

Den eneste forskjellen i å definere denne ruten er at denne kodelinjen også inneholder parameteren 'id' med URL-en.

2. Endre filen 'MyController.php' som vist nedenfor.

Kode:

public function show($id)
(
return “ID is :”.$id;
)

Her er den eneste forskjellen i metoden show () at vi har endret den ved å sende parameteren 'id' i showet () -metoden.

3. La oss igjen slå URLen i nettleseren vår. Avhengig av parameteren får du utdata.

navnerom

Her er et stykke informasjon om navneområder:

Når du definerer metoden Route :: get () for vår kontrollklasse, er det ingen grunn til å nevne hele navneområdet for kontrolleren siden 'RouteServiceProvider' laster nesten alle rutefilene dine i en rutegruppe som inneholder navneområdet i den. Du trenger ganske enkelt å spesifisere den delen av navnet som kommer etter App / Http / Controllers.

For eksempel, hvis kontrollerklassens fulle bane er App / Http / Controllers / User / UsersController, er det ingen grunn til å nevne hele navneområdet. Du kan ganske enkelt definere ruten som følger:

Kode:

Route::get('\user', 'User\ ');

Enkel handlingskontroller

Hvis du ønsker å definere kontrollen med én handling, vil du kunne gjøre det ved å plassere en enkelt metode '__invoke' på kontrolleren. Det sies at PHP har noen utrolig magiske funksjoner, og '__invoke'-funksjonen utgjør den til den magiske listen. Ved hjelp av denne magiske '__invoke'-funksjonen kan du definere klasse ved å bruke bare en PHP-funksjon' __invoke 'i den, og når som helst objektet vil bli kalt vil det igjen ringe metoden' __invoke 'uten å ha manuelt kalt $ obj-> randomFunction ().

Nå oppstår spørsmålet, hvor kan du bruke det? Greit nok, det er vår psykologi å stille dette spørsmålet hver gang vi møter ny funksjonalitet. Som et eksempel kan dette brukes mens du implementerer SRP (Single Responsibility Principle). Som vi lagde en kontroller ovenfor ved å bruke artisan-kommandoen, på samme måte ved å bruke php artisan: gjør controller MyController, kodingen av MyController-filen vil se ut som vist nedenfor:

Kode:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
//
)

Vi kan legge til kodelinjer for __invoke () -metoden i MyController-klassen. Her er et eksempel på hvordan klassen vil se ut etter å ha lagt til kode.

Kode:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function __invoke($id)
(
return “ID is :”.$id;
)
)

Nå må web.php-filen endres, fordi den er eneansvarlig for all handlingshåndtering. Kodelinjen vil se slik ut:

Kode:

Route::get('/post/(id)', 'MyController');

Denne kodelinjen treffer funksjonen '__invoke ()' i MyController-klassen vår. Det kan konkluderes herfra at du ikke nødvendigvis trenger å skrive @ invoke-funksjon for å få tilgang til kontroller med en handling.

Merk: I tilfelle du ikke spesifiserer noen handling, dvs. at du ikke skriver metoden __invoke (), vil den kaste en ugyldig rutehandlingsfeil, dvs. UnexpectedValueExpression.

Innsikt for å lage Laravel-ruter

Hver rute i Laravel er definert i rutefiler. Disse rutefilene finner du i underkatalogen over ruter. Det er ikke nødvendig å laste inn disse filene manuelt da de automatisk lastes inn av Laravels rammeverk. Rutefilen til applikasjonen din blir lagret i filen 'app / Http / routes.php'. Generell ruting for enhver forespørsel i Laravel ser ut:

Kode:

Route::get ('/', anyFunction() (
return 'This is Index';
));

Kode:

Route::post ('user/dashboard', anyFunction() (
return 'This is Dashboard';
));

Mekanisme for ruting

Rutemekanismen kan forstås med tre trinn som følger:

  • Først lager du en root-URL og kjører den.
  • Forsikre deg om at URL-en din samsvarer med metodene i root.php-filen, bare da alle relaterte funksjoner blir utført.
  • Funksjonen påkaller først malfiler og deretter blir funksjonsvisning () kalt med et filnavn i ressurser / visninger /.

Konklusjon

Forhåpentligvis har vi hittil lært en god del Laravel Route Controller-konsepter som lar deg lage din helt egen Laravel routing-kontroller for applikasjonen din, som vil være sikker og kraftig samtidig.

Anbefalte artikler

Dette er en guide til Laravel Route Controller. Her diskuterer vi dataene som sendes til kontroller, navnefelt, enkelt handlingskontroller og forskjellige trinn for å lage en Laravel. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hva er Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Laravel-kommandoer