Članki

Laravel: kaj so krmilniki laravel

V ogrodju MVC črka "C" pomeni krmilnike in v tem članku bomo videli, kako uporabljati krmilnike v Laravelu. Deluje kot neposreden promet med pogledi in modeli. V tem članku vidimo, kako ustvariti in nastaviti krmilnike v Laravelu.

Creare un controller v laravel

Za ustvarjanje a controller, moramo odpreti ukazni poziv ali terminal, glede na operacijski sistem, ki ga uporabljamo, in vnesti naslednji ukaz, da ustvarimo krmilnik z Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Zamenjati <controller-name> s svojim imenom controller. To bo ustvarilo a controller. The controller ustvarjeno si lahko ogledate v app/Http/Controllers .

Videli boste, da je nekaj osnovnega kodiranja že opravljeno za vas in da lahko dodate svoje kodiranje po meri. The controller ustvarjen lahko pokličete iz web.php z naslednjo sintakso.

sintaksa
Route::get(‘base URI’,’controller@method’);
primer

1 : Za ustvarjanje zaženite naslednji ukaz MyController

php artisan make:controller MyController

2 – Po uspešni izvedbi boste dobili naslednji rezultat.

3 – Našli bomo krmilnik, ustvarjen v app/Http/Controller/MyController.php z že napisano osnovno kodo in po potrebi lahko naredimo spremembe.

Vmesna programska oprema krmilnika

Videli smo že middleware in ga lahko uporabljamo tudi z controller. The middleware lahko se dodeli tudi poti krmilnika ali znotraj konstruktorja krmilnika. Lahko uporabite metodo middleware dodeliti middleware al controller. The middleware registrirana je lahko tudi omejena na določene metode controller.

Dodeljevanje vmesne programske opreme poti
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Tukaj dodeljujemo vmesno programsko opremo za preverjanje pristnosti UserControllerju v poti profila.

Dodelitev vmesne programske opreme znotraj konstruktorja krmilnika
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Tukaj dodeljujemo middleware avtentikacije z uporabo metode middleware v konstruktorju Moj krmilnik .

Upoštevajte to $this->middleware() deluje samo če ga dodelite v konstruktorju. Če pokličemo $this->middleware() iz določene metode krmilnika, ne bo povzročil nobenih napak, vendar vmesna programska oprema dejansko ne bo delovala.

Ta možnost velja, vendar osebno raje dam vso vmesno programsko opremo v routes, ker je bolj jasno, kje vse iskati middleware.

primer

1 – V datoteko dodamo naslednje vrstice kode routes/web.php in prihranimo.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Ustvarimo a middleware imenovan FirstMiddleware tako, da zaženete naslednjo vrstico kode.

php artisan make:middleware FirstMiddleware

3 : dodajte naslednjo kodo v metodo ročaj od FirstMiddleware pravkar ustvarjen v app/Http/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Ustvarimo a middleware imenovan SecondMiddleware z izvajanjem naslednjega ukaza.

php artisan make:middleware SecondMiddleware

5 : dodajmo naslednjo kodo v metodo ročaja SecondMiddleware pravkar ustvarjen v app/Http/Middleware .

Glasilo o inovacijah
Ne zamudite najpomembnejših novic o inovacijah. Prijavite se, če jih želite prejemati po e-pošti.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : ustvarimo a controller imenovan Moj krmilnik tako, da zaženete naslednjo vrstico.

php artisan make:controller MyController

7 – Ko se url uspešno izvede, boste dobili naslednji rezultat –

8 – Kopirajte naslednjo kodo v datoteko app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Zdaj pa zaženimo notranji spletni strežnik php z zagonom naslednjega ukaza, če tega še niste storili.

php artisan serve

10 – Obiščite naslednji URL.

http://localhost:8000/mycontroller/path

11 – Izhod bo prikazan, kot je prikazano na naslednji sliki.

Vključeni sta praktično obe vmesni programski opremi, a le ena

Controller di restful resource

Pogosto morate pri ustvarjanju aplikacije nekaj narediti CRUD (Create, Read, Update, Delete)Laravel olajša to delo. Samo ustvarite a controller in Laravel bo samodejno zagotovil vse metode za operacije CRUD. Posnamemo lahko tudi eno pot do vseh metod v datoteki route.php.

primer

1 : ustvari krmilnik, imenovan MyController z izvajanjem naslednjega ukaza.

php artisan make:controller MyController

2 : dodajte naslednjo kodo app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – V datoteko dodamo naslednjo vrstico kode routes/web.php .

Route::resource('my','MyController');

4 – Zdaj registriramo vse metode MyControllerja z registracijo krmilnika z virom. Spodaj je tabela dejanj, ki jih upravlja krmilnik virov.

GlagolPotUkrepIme poti
GET/ mojIndeksmoj indeks
GET/my/createustvarjajomoj.ustvari
POST/ mojtrgovinamoja.trgovina
GET/moj/{moj}Prikažimoja.oddaja
GET/moj/{moj}/urediUredimoj.uredi
POSTAVI/KAPČI/moj/{moj}posodobitevmoja.posodobitev
DELETE/moj/{moj}uničimoj, uniči

5 – Poskusite zagnati URL-je, prikazane v spodnji tabeli.

URLOpisIzhod
http://localhost:8000/myIzvedite indeksno metodo MyController.phpIndeks
http://localhost:8000/my/createIzvedite metodo create MyController.phpustvariti
http://localhost:8000/my/1Izvedite show metodo MyController.phpPrikaži
http://localhost:8000/my/1/editIzvedite metodo urejanja MyController.phpUredi

Ercole Palmeri

Glasilo o inovacijah
Ne zamudite najpomembnejših novic o inovacijah. Prijavite se, če jih želite prejemati po e-pošti.

Nedavni članki

Googlova nova umetna inteligenca lahko modelira DNK, RNK in "vse molekule življenja"

Google DeepMind predstavlja izboljšano različico svojega modela umetne inteligence. Novi izboljšani model ne zagotavlja le...

9 maja 2024

Raziskovanje Laravelove modularne arhitekture

Laravel, znan po svoji elegantni sintaksi in zmogljivih funkcijah, prav tako zagotavlja trdne temelje za modularno arhitekturo. tam …

9 maja 2024

Cisco Hypershield in prevzem Splunka Začenja se nova doba varnosti

Cisco in Splunk strankam pomagata pospešiti njihovo pot do varnostno operativnega centra (SOC) prihodnosti z…

8 maja 2024

Poleg ekonomske strani: neočitni stroški izsiljevalske programske opreme

Ransomware prevladuje v novicah zadnji dve leti. Večina ljudi se dobro zaveda, da napadi...

6 maja 2024

Inovativna intervencija v obogateni resničnosti z Apple viewerjem na polikliniki Catania

Operacija oftalmoplastike s komercialnim pregledovalnikom Apple Vision Pro je bila opravljena na polikliniki Catania…

3 maja 2024

Prednosti pobarvank za otroke - svet čarovnije za vse starosti

Razvijanje finih motoričnih spretnosti z barvanjem otroke pripravi na kompleksnejše spretnosti, kot je pisanje. Za barvanje…

2 maja 2024

Prihodnost je tukaj: Kako ladjarska industrija revolucionira svetovno gospodarstvo

Pomorski sektor je prava svetovna gospodarska sila, ki je krmarila proti 150 milijardnemu trgu...

1 maja 2024

Založniki in OpenAI podpisujejo sporazume za urejanje pretoka informacij, ki jih obdeluje umetna inteligenca

Prejšnji ponedeljek je Financial Times objavil dogovor z OpenAI. FT licencira svoje vrhunsko novinarstvo ...

April 30 2024