Cikkek

Laravel: Mik azok a laravel vezérlők

Az MVC keretrendszerben a „C” betű a vezérlőket jelenti, és ebben a cikkben látni fogjuk, hogyan kell használni a vezérlőket a Laravelben. Közvetlen forgalomként működik a nézetek és modellek között. Ebben a cikkben megnézzük, hogyan hozhat létre és állíthat be vezérlőket a Laravelben.

Creare un controller laravelben

Létrehozni a controller, meg kell nyitnunk a parancssort vagy terminált, az általunk használt operációs rendszernek megfelelően, és be kell gépelnünk a következő parancsot a vezérlő létrehozásához Artisan CLI (Command Line Interface).

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

Cserélje ki <controller-name> a te neveddel controller. Ezzel létrejön a controller. Az controller létrehozott ben megtekinthető app/Http/Controllers .

Látni fogja, hogy néhány alapvető kódolás már megtörtént, és hozzáadhatja saját egyéni kódolását. A controller Created a web.php-ből a következő szintaxissal hívható meg.

szintaxis
Route::get(‘base URI’,’controller@method’);
példa

1 : Futtassa a következő parancsot a létrehozáshoz MyController

php artisan make:controller MyController

2 – Sikeres végrehajtás után a következő kimenetet kapja.

3 – Megtaláljuk a ben létrehozott vezérlőt app/Http/Controller/MyController.php néhány alapkóddal, amely már meg van írva, és szükség szerint módosíthatjuk.

Vezérlő köztes szoftver

Láttuk már a middleware és használhatjuk a controller. Az middleware a vezérlő útvonalához vagy a vezérlő konstruktorán belül is hozzárendelhető. Használhatja a módszert middleware hozzárendelni a middleware al controller. Az middleware regisztrált is korlátozható bizonyos módszerek a controller.

Köztes szoftver hozzárendelése az útvonalhoz
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Itt hitelesítési köztes szoftvert rendelünk a UserControllerhez a profilútvonalban.

Köztes szoftver hozzárendelés a vezérlő konstruktorán belül
<?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');
   }
}

Itt hozzárendeljük a middleware a hitelesítésről módszer segítségével middleware a konstruktorban MyController .

Vegye figyelembe, hogy $this->middleware() működik csak ha a konstruktorban hozzárendeli. Ha hívjuk $this->middleware() egy adott vezérlőmódszertől nem fog hibát okozni, de a köztes szoftver valójában nem fog működni.

Ez a lehetőség érvényes, de Személyesen inkább az összes köztes szoftvert a routes, mert világosabb, hogy hol kell keresni az összes middleware.

példa

1 – Adjuk hozzá a következő kódsorokat a fájlhoz routes/web.php és megtakarítjuk.

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

2 – Hozzuk létre a middleware megnevezett FirstMiddleware a következő kódsor futtatásával.

php artisan make:middleware FirstMiddleware

3 : adja hozzá a következő kódot a metódushoz fogantyú del FirstMiddleware most jött létre 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 – Hozzuk létre a middleware megnevezett SecondMiddleware a következő parancs futtatásával.

php artisan make:middleware SecondMiddleware

5 : adjuk hozzá a következő kódot a kezelési metódusához SecondMiddleware most jött létre app/Http/Middleware .

Innovációs hírlevél
Ne maradjon le az innovációval kapcsolatos legfontosabb hírekről. Regisztráljon, hogy megkapja őket e-mailben.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : hozzunk létre a controller megnevezett MyController a következő sor futtatásával.

php artisan make:controller MyController

7 - Az url sikeres végrehajtása után a következő kimenetet kapja -

8 – Másolja be a következő kódot a fájlba 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 – Most indítsuk el a php belső webszervert a következő parancs futtatásával, ha még nem tette meg.

php artisan serve

10 – Látogassa meg a következő URL-t.

http://localhost:8000/mycontroller/path

11 – A kimenet a következő képen látható módon jelenik meg.

Gyakorlatilag mindkét köztes szoftver érintett, de csak az egyik

Controller di restful resource

Egy alkalmazás létrehozásakor gyakran tennie kell valamit CRUD (Create, Read, Update, Delete)Laravel megkönnyíti ezt a munkát. Csak hozzon létre a controller és a Laravel automatikusan biztosítja a műveletekhez szükséges összes metódust CRUD. A fájlban lévő összes metódushoz egyetlen elérési utat is rögzíthetünk route.php.

példa

1 : hozzon létre egy vezérlőt MyController a következő parancs futtatásával.

php artisan make:controller MyController

2 : adja hozzá a következő kódot 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 – Adjuk hozzá a következő kódsort a fájlhoz routes/web.php .

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

4 – Most regisztráljuk a MyController összes metódusát egy erőforrással rendelkező vezérlő regisztrálásával. Az alábbiakban az erőforrás-vezérlő által kezelt műveletek táblázata látható.

IgeÚtvonalAkcióÚtvonal neve
GET/ az énindexindexem
GET/my/createteremtaz én.teremteni
POST/ az éntárolniboltom
GET/Nahát}előadásaz én.műsorom
GET/my/{my}/editszerkesztésmy.edit
PUT/PATCH/Nahát}frissítésmy.update
DELETE/Nahát}elpusztítaniaz én. elpusztítani

5 – Próbálkozzon az alábbi táblázatban látható URL-ek futtatásával.

URLLeírásKijárat
http://localhost:8000/myHajtsa végre a MyController.php index metódusátindex
http://localhost:8000/my/createHajtsa végre a MyController.php létrehozási metódusátszerkesztése által
http://localhost:8000/my/1Hajtsa végre a MyController.php show metódusátelőadás
http://localhost:8000/my/1/editHajtsa végre a MyController.php szerkesztési módszerétszerkesztés

Ercole Palmeri

Innovációs hírlevél
Ne maradjon le az innovációval kapcsolatos legfontosabb hírekről. Regisztráljon, hogy megkapja őket e-mailben.

Friss cikkek

Hogyan lehet a legjobban rendszerezni az adatokat és képleteket az Excelben a jól végzett elemzés érdekében

A Microsoft Excel az adatelemzés referenciaeszköze, mivel számos funkciót kínál az adatkészletek rendszerezéséhez,…

Május 14 2024

Pozitív következtetés két fontos Walliance Equity Crowdfunding projekthez: Jesolo Wave Island és Milano Via Ravenna

A Walliance, a SIM és a platform 2017 óta Európa egyik vezető ingatlan-közösségi finanszírozása, bejelentette, hogy befejeződött…

Május 13 2024

Mi az a Filament és hogyan kell használni a Laravel Filament-et

A Filament egy "gyorsított" Laravel fejlesztői keretrendszer, amely több full-stack összetevőt biztosít. Úgy tervezték, hogy egyszerűsítse a folyamatot…

Május 13 2024

A mesterséges intelligencia irányítása alatt

„Vissza kell térnem, hogy befejezzem az evolúciómat: kivetítem magam a számítógép belsejébe, és tiszta energiává válok. Miután letelepedett…

Május 10 2024

A Google új mesterséges intelligenciája képes modellezni a DNS-t, az RNS-t és "az élet összes molekuláját"

A Google DeepMind bemutatja mesterséges intelligencia modelljének továbbfejlesztett változatát. Az új, továbbfejlesztett modell nemcsak…

Május 9 2024

Laravel moduláris építészetének felfedezése

Az elegáns szintaxisáról és erőteljes funkcióiról híres Laravel szilárd alapot biztosít a moduláris architektúrához. Ott…

Május 9 2024

Cisco Hypershield és a Splunk felvásárlása Kezdődik a biztonság új korszaka

A Cisco és a Splunk segít ügyfeleinek, hogy felgyorsítsák útjukat a jövő Security Operations Center (SOC) felé…

Május 8 2024

A gazdasági oldalon túl: a ransomware nyilvánvaló költségei

A Ransomware uralta a híreket az elmúlt két évben. A legtöbb ember jól tudja, hogy a támadások…

Május 6 2024