Johdanto Laravelin reittiohjaimeen

Näiden ohjaimien avulla voit luoda ohjainluokat käyttämällä menetelmiä, joita käytetään eri pyyntöjen käsittelemiseen. Olisi paljon helpompaa, jos ymmärrämme laravel-reitin ohjaimen käsitteen esimerkin avulla. Menemme askel askeleelta saadaksemme hyvän ymmärryksen reititysohjaimista. Joten tässä siirrymme vaiheisiin:

Kuinka luoda Laravel-reitin ohjain?

Tässä on joitain vaiheita, joilla luodaan raideväylän reititysohjaimet, jotka selitetään alla:

Vaihe 1: Aivan ensimmäinen askel olisi ohjaimen luominen. Jos et ole perehtynyt ohjaimen luomiseen, siirry ohjaimen luomisen alla olevien kohtien läpi. Muussa tapauksessa siirry suoraan vaiheeseen 2 reititysohjaimille.

  • Luo ohjain alla olevan käsityöläiskomennon avulla.

Koodi:

Php artisan make: Controller MyController

  • MyController.php-tiedosto luodaan, jonka oletuskoodi on alla.

Koodi:

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

Vaihe 2: Nyt sinun on kirjoitettava tämä reitti alla web.php-tiedostoon.

Koodi:

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

Ensimmäinen parametri on tässä URL, johon haluat pääsyn, ja MyController on melko selvästi ohjaimen nimi. 'Show', kuten voit nähdä MyController.php-tiedostossa, on menetelmä. Joten @show osoittaa tässä, että show () -menetelmää kutsutaan, kun osumme URL-osoitteeseen '/ post'.

Vaihe 3: Voit nyt lisätä koodauslinjoja alla olevan kuvan mukaisesti.

Koodi:

<_?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)
(
//
)
)

Vaihe 4: Nyt on aika napsauttaa URL-osoitetta. Saat määritetyn tulosteen URL-osoitteen syöttämisen jälkeen. Toivottavasti olemme käsittäneet tarpeeksi tietoa ohjaimista, jotta pääset nyt ohjaimeesi. Siirrytään eteenpäin nyt miten voimme siirtää tietoja myös ohjainluokkaamme. Jälleen olisi paljon helpompaa, jos opimme tiedon kuljettamisen parametrien kautta ohjaimelle esimerkin avulla.

Tiedonsiirto rekisterinpitäjälle

1. Kirjoita tämä reitin alapuolelle web.php-tiedostoon:

Koodi:

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

Ainoa ero tämän reitin määrittelyssä on, että tämä koodirivi sisältää myös parametrin 'id' URL-osoitteen kanssa.

2. Muokkaa tiedostoa 'MyController.php' alla olevan kuvan mukaisesti.

Koodi:

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

Ainoa ero menetelmässä show () on siinä, että olemme muuttaneet sitä kuljettamalla parametri 'id' show () -menetelmässä.

3. Painamme jälleen kerran selaimesi URL-osoitetta. Saat tulosteen parametrista riippuen.

nimiavaruudet

Tässä on osa nimiavaruuksista:

Määritettäessä menetelmä Route :: get () -ohjainta luokkaamme varten, ohjaimen koko nimitilaa ei tarvitse mainita, koska 'RouteServiceProvider' lataa melkein kaikki reittitiedostot reittiryhmään, jonka nimitila sisältää sen. Sinun on vain määritettävä se osa nimestä, joka tulee App / Http / Controllers jälkeen.

Esimerkiksi, jos ohjainluokan koko polku on App / Http / Controllers / User / UsersController, niin koko nimeä ei tarvitse mainita. Voit määritellä reitin seuraavasti:

Koodi:

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

Yksitoiminen ohjain

Jos haluat määrittää yksitoimisen ohjaimen, voit tehdä niin asettamalla yhden menetelmän '__invoke' ohjaimeen. Sanotaan, että PHP: llä on joitain hämmästyttävän maagisia toimintoja, ja '__invoke' -toiminto tekee siitä maagisen luettelon. Tämän maagisen '__invoke' -toiminnon avulla voit määritellä luokan käyttämällä vain yhtä sen sisällä olevaa PHP-toimintoa '__invoke', ja milloin tahansa objektia kutsutaan, se puolestaan ​​kutsuu menetelmää '__invoke' ilman, että edes tarvitse manuaalisesti kutsutaan $ obj-> randomFunction ().

Nyt herää kysymys, missä voit käyttää sitä? Riittävästi, psykologiamme on kysyä tämä kysymys joka kerta, kun kohtaamme uusia toimintoja. Tätä voidaan käyttää esimerkiksi SRP: n (yhden vastuun periaate) toteuttamisessa. Kuten teimme yllä olevan ohjaimen käyttämällä käsityöläiskomentoa, samoin kuin php artisan: tee ohjaimeksi MyController, MyController-tiedoston koodaus näyttää seuraavalta:

Koodi:

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

Meillä on hyvä lisätä koodirivit __invoke () -menetelmälle MyController-luokkaan. Tässä on esimerkki luokan näyttämisestä koodin lisäämisen jälkeen.

Koodi:

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

Nyt web.php-tiedostoa on muutettava, koska se on yksin vastuussa kaikesta toiminnan käsittelystä. Koodirivi näyttää tältä:

Koodi:

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

Tämä koodirivi osuu MyController-luokan funktioon '__invoke ()'. Tästä voidaan päätellä, että sinun ei tarvitse välttämättä kirjoittaa @invoke-toimintoa päästäksesi yksitoimisille ohjaimille.

Huomaa: Jos et määritä mitään toimenpidettä, ts. Et kirjoita menetelmää __invoke (), se heittää virheellisen reittitoiminnon virheen, eli UnexpectedValueExpression.

Näkemyksiä Laravel-reittien luomiseen

Jokainen reitti Laravelissa on määritetty reittitiedostoihin. Nämä reittitiedostot löytyvät reittien alihakemistosta. Näitä tiedostoja ei tarvitse ladata manuaalisesti, koska Laravel-kehys lataa ne automaattisesti. Sovelluksesi reittitiedosto tallennetaan tiedostoon 'app / Http / route.php'. Yleinen reititys kaikille Laravelin pyynnöille näyttää seuraavalta:

Koodi:

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

Koodi:

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

Reititysmekanismi

Reititysmekanismi voidaan ymmärtää seuraavilla kolmella vaiheella:

  • Luo ensin juur-URL ja suorita se.
  • Varmista, että URL vastaa root.php-tiedoston menetelmiä, vasta sitten kaikki siihen liittyvät toiminnot suoritetaan.
  • Toiminto käynnistää ensin mallitiedostot ja sitten toiminto view () kutsutaan tiedostonimellä resursseissa / näkymät /.

johtopäätös

Toivottavasti olemme toistaiseksi oppineet melkoisen määrän Laravel Route Controller -konsepteja, joiden avulla voit luoda sovelluksellesi oman Laravel-reititysohjaimen, joka on samalla turvallinen ja tehokas.

Suositellut artikkelit

Tämä on opas Laravel Route Controller -sovellukseen. Tässä keskustellaan ohjaimelle siirrettävistä tiedoista, nimiavaruuksista, yhden toiminnan ohjaimesta ja Laravelin luomisen eri vaiheista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs. Codeigniter
  4. Laravel-komennot