Straipsniai

Laravel: Kas yra laravel valdikliai

MVC sistemoje raidė „C“ reiškia valdiklius, o šiame straipsnyje pamatysime, kaip „Laravel“ naudoti valdiklius. Veikia kaip tiesioginis srautas tarp rodinių ir modelių. Šiame straipsnyje matome, kaip sukurti ir nustatyti valdiklius Laravel.

Creare un controller laravelyje

Norėdami sukurti a controller, turime atidaryti komandų eilutę arba terminalą, atsižvelgdami į naudojamą operacinę sistemą, ir įveskite šią komandą, kad sukurtume valdiklį naudodami Artisan CLI (Command Line Interface).

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

Pakeiskite <controller-name> su tavo vardu controller. Tai sukurs a controller. controller sukurtus galima peržiūrėti app/Http/Controllers .

Pamatysite, kad tam tikras pagrindinis kodavimas jau atliktas už jus ir galėsite pridėti savo pasirinktinį kodavimą. The controller sukurtas gali būti iškviestas iš web.php su tokia sintaksė.

sintaksė
Route::get(‘base URI’,’controller@method’);
pavyzdys

1 : Norėdami sukurti, paleiskite šią komandą MyController

php artisan make:controller MyController

2 – Po sėkmingo vykdymo gausite tokią išvestį.

3 – Rasime sukurtą valdiklį app/Http/Controller/MyController.php su tam tikru jau parašytu pagrindiniu kodu ir galime atlikti pakeitimus, jei reikia.

Valdiklio tarpinė programinė įranga

Mes jau matėme middleware ir mes taip pat galime jį naudoti su controller. middleware jis taip pat gali būti priskirtas valdiklio maršrutui arba valdiklio konstruktoriuje. Galite naudoti metodą middleware priskirti middleware al controller. middleware registruotas taip pat gali būti apribotas tam tikrais būdais controller.

Tarpinės programinės įrangos priskyrimas maršrutui
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Čia mes priskiriame autentifikavimo tarpinę programinę įrangą UserController profilio kelyje.

Tarpinės programinės įrangos priskyrimas valdiklio konstruktoriuje
<?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');
   }
}

Čia mes priskiriame middleware autentifikavimo naudojant metodą middleware konstruktoriuje „MyController“. .

Prisimink tai $this->middleware() tai veikia tik jei priskirsite jį konstruktoriuje. Jei paskambinsime $this->middleware() naudojant konkretų valdiklio metodą, jis nesukels klaidų, bet tarpinė programinė įranga iš tikrųjų neveiks.

Ši parinktis galioja, bet asmeniškai man labiau patinka įdėti visą tarpinę programinę įrangą routes, nes aiškiau, kur ieškoti visų middleware.

pavyzdys

1 – Pridėkime prie failo šias kodo eilutes routes/web.php ir taupome.

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

2 – Sukurkime a middleware paskambino FirstMiddleware paleisdami šią kodo eilutę.

php artisan make:middleware FirstMiddleware

3 : pridėkite šį kodą prie metodo tvarkyti del FirstMiddleware ką tik sukurtas 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 – Sukurkime a middleware paskambino Antroji vidurinė programinė įranga vykdydami šią komandą.

php artisan make:middleware SecondMiddleware

5 : pridėkime šį kodą prie rankenos metodo SecondMiddleware ką tik sukurtas app/Http/Middleware .

Inovacijų naujienlaiškis
Nepraleiskite svarbiausių naujienų apie naujoves. Prisiregistruokite, kad gautumėte juos el.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : sukurkime a controller paskambino „MyController“. paleisdami šią eilutę.

php artisan make:controller MyController

7 - Sėkmingai įvykdę URL, gausite šią išvestį -

8 – Nukopijuokite šį kodą į failą 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 – Dabar paleiskite php vidinį žiniatinklio serverį paleisdami šią komandą, jei to dar nepadarėte.

php artisan serve

10 – Apsilankykite šiuo URL.

http://localhost:8000/mycontroller/path

11 – Išvestis bus rodoma taip, kaip parodyta kitame paveikslėlyje.

Praktiškai dalyvauja abi tarpinės programinės įrangos, bet tik viena

Controller di restful resource

Dažnai kuriant programą reikia ką nors padaryti CRUD (Create, Read, Update, Delete)Laravel palengvina šį darbą. Tiesiog sukurkite a controller ir Laravel automatiškai pateiks visus operacijų metodus CRUD. Taip pat galime įrašyti vieną kelią į visus metodus faile route.php.

pavyzdys

1 : sukurkite valdiklį, vadinamą MyController vykdydami šią komandą.

php artisan make:controller MyController

2 : pridėkite šį kodą 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 – Į failą įtraukime šią kodo eilutę routes/web.php .

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

4 – Dabar registruojame visus „MyController“ metodus, registruodami valdiklį su ištekliais. Žemiau yra veiksmų, kuriuos valdo išteklių valdiklis, lentelė.

VeiksmažodisKeliasVeiklaMaršruto pavadinimas
GET/ manorodyklėmano indeksas
GET/mano/kurtikurtimano.kurti
POST/ manostoremano.parduotuvė
GET/Mano mano}Parodytimano.šou
GET/mano/{mano}/redaguotiredaguotimano.redaguoti
PUT / PATCH/Mano mano}atnaujinimasmano.atnaujinimas
DELETE/Mano mano}sunaikintimano sunaikinti

5 – Pabandykite paleisti URL adresus, nurodytus toliau esančioje lentelėje.

URL adresasaprašymasišeiti
http://localhost:8000/myVykdykite MyController.php indekso metodąrodyklė
http://localhost:8000/my/createVykdykite MyController.php kūrimo metodąsukurti
http://localhost:8000/my/1Vykdykite MyController.php rodymo metodąParodyti
http://localhost:8000/my/1/editVykdykite MyController.php redagavimo metodąredaguoti

Ercole Palmeri

Inovacijų naujienlaiškis
Nepraleiskite svarbiausių naujienų apie naujoves. Prisiregistruokite, kad gautumėte juos el.

Naujausi straipsniai

Naujasis „Google“ dirbtinis intelektas gali modeliuoti DNR, RNR ir „visas gyvybės molekules“

„Google DeepMind“ pristato patobulintą dirbtinio intelekto modelio versiją. Naujasis patobulintas modelis suteikia ne tik…

9 gegužės 2024

Laravel modulinės architektūros tyrinėjimas

Elegantiška sintaksė ir galingomis funkcijomis garsėjantis „Laravel“ taip pat suteikia tvirtą pagrindą modulinei architektūrai. Ten…

9 gegužės 2024

„Cisco Hypershield“ ir „Splunk“ įsigijimas Prasideda nauja saugumo era

„Cisco“ ir „Splunk“ padeda klientams paspartinti jų kelionę į ateities saugos operacijų centrą (SOC) naudodami…

8 gegužės 2024

Be ekonominės pusės: neabejotina išpirkos reikalaujančios programinės įrangos kaina

„Ransomware“ dominuoja naujienose pastaruosius dvejus metus. Daugelis žmonių puikiai žino, kad išpuoliai…

6 gegužės 2024

Naujoviška intervencija į išplėstinę realybę su „Apple“ žiūrovu Katanijos poliklinikoje

Katanijos poliklinikoje buvo atlikta oftalmoplastikos operacija naudojant „Apple Vision Pro“ reklaminę peržiūrą…

3 gegužės 2024

Vaikų spalvinimo puslapių privalumai – magijos pasaulis įvairaus amžiaus žmonėms

Lavindami smulkiosios motorikos įgūdžius dažydami, vaikai paruošiami sudėtingesniems įgūdžiams, pavyzdžiui, rašymui. Norėdami nuspalvinti…

2 gegužės 2024

Ateitis yra čia: kaip laivybos pramonė sukelia pasaulinės ekonomikos revoliuciją

Karinio jūrų laivyno sektorius yra tikra pasaulinė ekonominė galia, kuri pasiekė 150 mlrd.

1 gegužės 2024

Leidėjai ir OpenAI pasirašo sutartis dėl dirbtinio intelekto apdorojamos informacijos srauto reguliavimo

Praėjusį pirmadienį „Financial Times“ paskelbė apie susitarimą su „OpenAI“. FT licencijuoja savo pasaulinio lygio žurnalistiką…

30 balandis 2024