Bevezetés a Laravel vezérlőkbe

Az egész alkalmazás létrehozható, ha a bezárást használja az útvonalakban .php fájlban, rendetlenné válik, de végrehajtható. Mi van, ha a Kontroller osztályok segítségével megszervezheti az egész folyamatot? Lássuk, hogyan. A vezérlők képesek az osztályon belüli csoportosításra, a kéréskezelés összes kapcsolódó logikájára. A Directory app / Http / Controllers felelős a vezérlők tárolásáért. Az MVC keretén belül a „C” a Vezérlőt jelenti, amely a forgalmat irányítja nézetek és modellek közepette. Ebben a témában megismerjük a Laravel vezérlőket.

A Laravel vezérlők listája

Itt található az alább említett Laravel-vezérlők listája

1. Alapvető vezérlők

Az alábbiakban áttekintheti a vezérlőosztály alapvető példáját. Itt észreveheti, hogy a 'MyController' kiterjeszti a 'Vezérlőt'. Itt a 'Vezérlő' az alap osztály. A „Vezérlő” alaposztály olyan módszereket kínál, mint a „köztes szoftver”, a „feladás” és az „érvényesítés”, ami kényelmessé teszi. Közvetlen szoftver segítségével hozzárendelheti azt a vezérlő útvonalához vagy a vezérlő kivitelezőjéhez.

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\User;
class MyController extends Controller
(
/**
* Show profile
*
*/
public function show($id)
(
return view('user.profile', ('user' => User::foundOrLost($id)));
)
)

A MyController elérési útja így határozható meg:

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

Köztes szoftver hozzárendelése útvonalfájlokhoz:

Route::get('profile', ' ')->middleware('auth');

Ha az út URI egyezik egy adott kéréssel, akkor a 'show' metódus a 'MyController' osztályban végrehajtásra kerül, és az útvonalon megadott paraméterek hozzárendelésre kerülnek az eljáráshoz is.

Néhány extra cseresznye az Ön számára:

  • Nem kell megemlíteni a vezérlő teljes névtérét, mivel a 'RouteServiceProvider' automatikusan betölti az útvonalcsoportba, amelynek névtere benne van, az összes útvonalfájl. Csak meg kell határoznia a név azon részét, amely az App \ Http \ Controllers után jelenik meg.
  • Ha meg akarja határozni az egyszeres működésű vezérlőt, akkor ezt megteheti, ha egyetlen „__invoke” módszert helyez a vezérlőre.

2. Erőforrás-vezérlők

Az alkalmazás létrehozása során CRUD (Létrehozás, Olvasás, Frissítés, Törlés) műveletek végrehajtását kell elvégezni. A Laravel erőforrásvezérlőkkel csak létre kell hozni a vezérlőt, és pihenést hagyhat a Laravelnél. A Laravel erőforrás útvonala a CRUD műveleti útvonalakat a vezérlőhöz is megkapja, csak egy kódolási sorral. Egyetlen útvonalat regisztrálhat az összes módszerhez a route.php fájlban.

Vegyünk egy példát, tegyük fel, hogy alkalmazásához olyan vezérlőt szeretne létrehozni, amely kezeli az összes bejövő HTTP kérést a tárolt „képekhez” képest. Ez az Artisan parancs segítségével gyorsan megtörténik. Nézzük meg az Artisan 'make: controller' parancsát gyorsan, hogy létrehozzunk egy hasonló vezérlőt az alábbiak szerint:

php artisan make:controller ImageController --resource

Az app / Http / Controllers / ImageController.php fájlban vezérlőt generál a fenti parancs. Ez a vezérlő minden rendelkezésre álló erőforrás-művelethez elkülönített módszerből áll.

Most kijelentheti az útvonalat a következő műveletek kezelésére:

Route::resource('images', 'ImageController');

Ez az útvonal-nyilatkozat számos útvonalat hoz létre, amelyek számos művelettel bírnak. Ez a vezérlő egyedi módszereket fog kidolgozni minden elérhető művelethez. Tartalmazza a megjegyzéseket is, amelyek tájékoztatják a kezelt URI-ket és HTTP igeket.

Ha egynél több erőforrás-vezérlőt kíván regisztrálni, akkor tömb segítségével, az alábbiak szerint:

Route::resources((
'images' => 'ImageController',
'posts' => 'PostController'
));

Műveleti táblázat

IgeURI / elérési útAkcióeseményÚtvonal neve
POST/ imagesboltimages.store
KAP/ imagesindeximages.index
KAP/ Images / createteremtimages.create
KAP/ Images / (image)előadásimages.show
PUT / Patch/ Images / (image)frissítésimages.update
KAP/ Images / (image) / szerkesztésszerkesztésimages.edit
TÖRÖL/ Images / (image)elpusztítaniimages.destroy

3. implicit vezérlők

Ezeknek a vezérlőknek köszönhetően minden műveletet elvégezhet, csak egy útvonal meghatározásával. Először meg kell határoznia az útvonalat a Route :: vezérlő segítségével:

Route::controller('users', 'MyController');

Itt két érvet továbbítanak a vezérlőnek.

  1. Alap URI
  2. A vezérlő osztály neve

Most csak hozzá kell adnia metódusokat a 'MyController'-hez, előtaggal ellátott HTTP-igével.

class MyController extends Controller (
public function getIndex()
(
//
)
public function anyLogin()
(
//
)
public function postProfile()
(
//
)
)

Az „index” metódusok reagálnak a „felhasználók” -ra, azaz a root / base URI-t a Controller kezeli.

Egy többszörös művelethez az URI „kötője” használatával lehet hozzáférni. Lásd példaként az alábbiakban a vezérlőműveleteket:

public function getAdminProfile() ()

Ez a MyController vezérlőművelet válaszol az URI 'felhasználók / admin-profil' -ra.

4. Függőség-befecskendezés és vezérlők

Függőségek Az Injection megkönnyíti a webes alkalmazások tesztelését és karbantartását.

1. Konstruktor befecskendezése

Laravel kezeli az osztályfüggőségeket, és megoldja az összes vezérlőt. Előfordulhat, hogy a vezérlőnek függőségekre van szüksége a kivitelezőben, a Laravel segítségével ezeknek a függőségeknek szinte bármelyikét beírhatja. A Laravel szervizvezérlő automatikusan megoldja az összes függőséget, és befecskendezi azokat a vezérlő példányába.

<_?php
namespace App\Http\Controllers;
use App\Repositories\UserRepository;
class MyController extends Controller
(
/**
* The user repository instance.
*/
protected $users;
/**
* Create a new controller instance.
*
* @param UserRepository $users
* @return void
*/
public function __construct(UserRepository $users)
(
$this->users = $users;
)
)

2. Injekciós módszer

A függőségeknek a kivitelezőbe történő beillesztésén kívül tippeltük őket a vezérlő módszereire is. Például a Illuminate \ Http \ Request példány beinjektálható a vezérlő módszerébe az alábbiak szerint:

<_?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MyController extends Controller
(
/**
* Store a new user.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
(
$name = $request->name;
//
)
)

A Laravel vezérlők jellemzői

Az alábbiakban bemutatjuk a sávvezérlő néhány jellemzőjét:

  • MVC támogatás: A Laravel-t az MVC Architecture támogatja. Ez gyorsítja a fejlesztést, mivel az egyik felhasználó logikán dolgozik, míg a másik nézeten dolgozik. A modell több nézetet támogat, sokszorosítás nélkül, mivel az üzleti logika elválasztva van a bemutatási logikától.
  • Hitelesítés: A Laravel beépített rendszerrel rendelkezik a hitelesítéshez, csak más szempontokra kell ügyelnie, például a nézetek, modellek és vezérlők konfigurálására.
  • Biztonság: A biztonság a legfontosabb tényező, amelyet figyelembe kell venni egy alkalmazás fejlesztésénél. A Laravel a beépített alkalmazásbiztonságával biztonságot nyújt.
  • Artisan: Az Artisan segít az ismétlődő feladatok elvégzésében anélkül, hogy azokat a fejlesztőknek manuálisan kellene elvégezniük. Ezek felhasználhatók az adatbázis struktúrájának, kódjának és egy migrációnak a létrehozására, annak kezelhetőségére.
  • Sablonok: A Laravel innovatív és hatékony sablonmotorjával a fejlesztők dinamikus webes alkalmazásokat hozhatnak létre.

Ajánlott cikkek

Ez egy útmutató a Laravel vezérlőkhöz. Itt megvitatjuk a valós számú Laravel-vezérlő-koncepciót, amelyek lehetővé teszik a saját vezérlő létrehozását az alkalmazás számára, amely ugyanakkor biztonságos és hatékony. A következő cikkben további információkat is megnézhet -

  1. Mi a Laravel Framework?
  2. Laravel parancsok
  3. Mi az a Laravel?
  4. Mi a Servlet?

Kategória: