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.
<_?phpnamespace 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
Ige | URI / elérési út | Akcióesemény | Útvonal neve |
POST | / images | bolt | images.store |
KAP | / images | index | images.index |
KAP | / Images / create | teremt | images.create |
KAP | / Images / (image) | előadás | images.show |
PUT / Patch | / Images / (image) | frissítés | images.update |
KAP | / Images / (image) / szerkesztés | szerkesztés | images.edit |
TÖRÖL | / Images / (image) | elpusztítani | images.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.
- Alap URI
- 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.
<_?phpnamespace 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:
<_?phpnamespace 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 -
- Mi a Laravel Framework?
- Laravel parancsok
- Mi az a Laravel?
- Mi a Servlet?