Introduktion til Laravel Route Controller

Disse controllere lader dig oprette dine controller-klasser ved hjælp af metoder, der bruges til at håndtere forskellige anmodninger. Det ville være meget lettere, hvis vi forstår konceptet med laravelrute-controller ved hjælp af et eksempel. Vi går trin for trin for at få en god forståelse af routingcontrollere. Så her går vi med trinnene:

Sådan oprettes Laravel-rute-controller?

Her er nogle af trinnene til oprettelse af larve routing-controllere, som er forklaret nedenfor:

Trin 1: Det allerførste trin ville være at oprette en controller. Hvis du ikke er bekendt med at oprette en controller, skal du gennemgå nedenstående punkter for at oprette en controller ellers flytte direkte til trin 2 for Routing Controllers.

  • Brug nedenstående håndværkskommando til at oprette controlleren.

Kode:

Php artisan make: Controller MyController

  • MyController.php-fil oprettes, hvis standardkode er som nedenfor.

Kode:

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

Trin 2: Nu skal du skrive denne nedenstående rute i web.php-fil.

Kode:

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

Her er den første parameter URL, som du vil have adgang til, og MyController er ganske tydeligt vores controller-navn. 'Vis' som du kan se i filen MyController.php, er metoden. Så @show her indikerer, at showet () -metoden ville blive kaldt, når vi rammer URL '/ post'.

Trin 3: Du kan nu tilføje 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)
(
//
)
)

Trin 4: Nu er det tid til at ramme URL'en. Du får en specificeret output efter indtastning af URL-adressen. Forhåbentlig har vi dækket nok indsigt af controllere til, at du kan få adgang til din controller nu. Lad os komme videre med, hvordan vi også kan videregive data til vores controller-klasse. Igen ville det være meget lettere, hvis vi lærer at videregive data gennem parametre til vores controller ved hjælp af et eksempel.

Data, der videregives til controller

1. Skriv denne rute nedenfor i filen web.php:

Kode:

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

Den eneste forskel i at definere denne rute er, at denne kodelinje også indeholder parameteren 'id' med URL'en.

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

Kode:

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

Her er den eneste forskel i metodevisningen (), at vi har ændret den ved at videregive parameteren 'id' i metoden show ().

3. Lad os igen slå URL'en i vores browser. Du får output afhængigt af parameteren.

namespaces

Her er et stykke information om navneområder:

Når du definerer metoden Route :: get () for vores controller-klasse, er der ikke behov for at nævne det fulde navneområde for controller, da 'RouteServiceProvider' indlæser næsten alle dine rutefiler i en rutegruppe, der indeholder navneområdet i det. Du skal blot specificere den del af navnet, der kommer efter App / Http / Controllers.

For eksempel, hvis controllerklassens fulde sti er App / Http / Controllers / User / UsersController, er der ingen grund til at nævne det fulde navneområde. Du kan blot definere ruten som følger:

Kode:

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

Kontrol med én handling

Hvis du ønsker at definere controller med enkelt handling, kan du gøre det ved at placere en enkelt metode '__invoke' på din controller. Det siges, at PHP har nogle utroligt magiske funktioner, og '__invoke'-funktion gør det op til den magiske liste. Ved hjælp af denne magiske '__invoke'-funktion kan du definere klasse ved hjælp af kun en PHP-funktion' __invoke 'i den, og når som helst når objektet kaldes, vil det igen kalde metoden' __invoke 'uden selv at have manuelt kaldet $ obj-> randomFunction ().

Nu opstår spørgsmålet, hvor kan du bruge det? Fair nok, det er vores psykologi at stille dette spørgsmål hver gang vi støder på nogen ny funktionalitet. Som et eksempel kan dette bruges under implementering af SRP (Single Responsibility Principle). Som vi lavede en controller ovenfor ved hjælp af kommandoen håndværk, på lignende måde ved hjælp af php håndværker: Lav controller MyController, kodningen af ​​MyController-filen vil se ud som vist nedenfor:

Kode:

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

Vi er gode til at tilføje kodelinjer til __invoke () -metoden i MyController-klassen. Her er et eksempel på, hvordan klassen vil se ud, når du har tilføjet kode.

Kode:

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

Nu skal web.php-filen ændres, da den alene er ansvarlig for al handlingshåndtering. Kodelinjen vil se sådan ud:

Kode:

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

Denne kodelinje rammer funktionen '__invoke ()' i vores MyController-klasse. Det kan konkluderes herfra, at du ikke nødvendigvis behøver at skrive @ invoke-funktion for at få adgang til enkelt-handling-controllere.

Bemærk: I tilfælde af at du ikke specificerer nogen handling, dvs. at du ikke skriver metoden __invoke (), kaster den en ugyldig rutehandlingsfejl, dvs. UnexpectedValueExpression.

Indblik i oprettelse af Laravel-ruter

Hver rute i Laravel er defineret i rutefiler. Disse rutefiler kan findes i underkatalogen med ruter. Det er ikke nødvendigt at indlæse disse filer manuelt, da de automatisk indlæses af Laravels rammer. Rutefilen for din applikation gemmes i filen 'app / Http / routes.php'. Generel routing for enhver anmodning i Laravel ser ud:

Kode:

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

Kode:

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

Rutemekanisme

Rutemekanismen kan forstås med tre trin, der følger:

  • Opret først en root-URL og kør den.
  • Sørg for, at din URL stemmer overens med metoderne i root.php-filen, kun da alle relaterede funktioner udføres.
  • Funktionen påkalder først skabelonfiler og derefter kaldes funktionsvisning () med et filnavn i ressourcer / visninger /.

Konklusion

Forhåbentlig har vi indtil videre lært en lang række Laravel Route Controller-koncepter, som giver dig mulighed for at oprette din helt egen Laravel routing-controller til din applikation, som vil være sikker og kraftfuld på samme tid.

Anbefalede artikler

Dette er en guide til Laravel Route Controller. Her diskuterer vi de data, der overføres til controller, navneområder, enkelt handlingskontroller og forskellige trin til at oprette en Laravel. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

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

Kategori: