Úvod do Laravel Controllerov

Celú vašu aplikáciu je možné vytvoriť iba pomocou programu Closures v súbore roads.php, bude to chaotický, ale bude uskutočniteľný. Čo ak dokážete celý proces zorganizovať pomocou tried Controller? Pozrime sa ako. Ovládače sú schopné skupiny v rámci jednej triedy, všetky súvisiace logiky spracovania žiadostí. Adresár app / Http / Controllers je zodpovedný za ukladanie radičov. V rámci MVC znamená „C“ kontrolór, ktorý pôsobí ako smerovanie premávky medzi pohľadmi a modelmi. V tejto téme sa dozvieme viac o Laravel Controlleroch.

Zoznam ovládačov Laravel

Nižšie je uvedený zoznam ovládačov Laravel

1. Základné ovládače

Nižšie nájdete základné príklady triedy kontrolérov. Tu si môžete všimnúť, že „MyController“ rozširuje „Controller“. Tu je 'Controller' základná trieda. Základná trieda „Controller“ poskytuje metódy ako „middleware“, „expedícia“ a „validácia“, čo ich robí pohodlnými. Prostredníctvom middleware ho môžete priradiť k trase ovládača alebo k jeho konštruktoru.

<_?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)));
)
)

Trasu do MyController možno definovať takto:

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

Priradenie middlewaru v smerových súboroch:

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

Ak sa trasa URI zhoduje so špecifickou požiadavkou, potom sa vykoná metóda „show“ na triede „MyController“ a k metóde sa priradia aj parametre uvedené na trase.

Niektoré ďalšie čerešne pre vás:

  • Nie je potrebné spomenúť celý priestor názvov pre radič, pretože „RouteServiceProvider“ sa automaticky načíta do skupiny trás, ktorá obsahuje menný priestor, všetky súbory trás. Stačí zadať tú časť názvu, ktorá sa objaví za App \ Http \ Controllers.
  • Ak chcete definovať jednočinný kontrolér, budete to môcť urobiť umiestnením jedinej metódy „__invoke“ do kontroléra.

2. Ovládače zdrojov

Pri vytváraní aplikácie vyžadujeme vykonanie operácií CRUD (Create, Read, Update, Delete). S radičmi prostriedkov Laravel je potrebné vytvoriť radič a na Laraveli môžete nechať odpočinok. Trasa zdroja Laravel pridelí operačné cesty CRUD k radiču, ktorý príliš jednoducho s jedným riadkom kódovania. Jedna cesta môže byť zaregistrovaná pre všetky metódy v súbore route.php.

Urobme príklad, predpokladajme pre vašu aplikáciu, že chcete vytvoriť radič, ktorý spracováva všetky prichádzajúce požiadavky HTTP týkajúce sa uložených „obrázkov“. Toto sa rýchlo dosiahne pomocou príkazu remeselníka. Pozrime sa rýchlo na príkaz remeselníka „make: controller“, aby sme vytvorili jeden podobný ovládač takto:

php artisan make:controller ImageController --resource

Radič sa vygeneruje v aplikácii / Http / Controllers / ImageController.php pomocou vyššie uvedeného príkazu. Tento ovládač bude pozostávať z metódy určenej pre každú dostupnú operáciu zdroja.

Teraz môžete vyhlásiť trasu na zvládnutie rôznych podobných akcií:

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

Toto vyhlásenie o trase vytvára mnoho trás, ktoré zvládnu početné činnosti. Tento ovládač bude mať pre každú dostupnú akciu špecifické metódy. Obsahuje tiež poznámky, ktoré vás informujú o URI a HTTP slovesách, ktoré sa spracúvajú.

Ak chcete zaregistrovať viac ako jeden radič prostriedkov naraz, môžete tak urobiť pomocou poľa, ako je uvedené nižšie:

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

Tabuľka akcií

slovesoURI / cestaAkčná udalosťNázov trasy
POST/snímkyskladimages.store
GET/snímkyindeximages.index
GET/ Images / vytvorenievytvoriťimages.create
GET/ Obrázky / (obrázok)šouimages.show
PUT / PATCH/ Obrázky / (obrázok)aktualizovaťimages.update
GET/ Obrazy / (obrázok) / editovaťeditovaťimages.edit
DELETE/ Obrázky / (obrázok)zničiťimages.destroy

3. Implicitné ovládače

S pomocou týchto radičov môžete zvládnuť každú akciu len definovaním jednej trasy. Najskôr musíte definovať trasu pomocou radiča Route ::

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

Tu sú riadiacemu orgánu odovzdané dva argumenty.

  1. Základné URI
  2. Názov triedy kontrolóra

Teraz musíte do „MyController“ pridať metódy s predponou HTTP sloveso.

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

Metódy „index“ budú reagovať na „používateľov“, čo je koreňový / základný identifikátor URI spracovávaný radičom.

Akcia s viacerými slovami je dostupná pomocou 'pomlčky' v URI. Ako príklad pozri nižšie uvedenú akciu ovládača:

public function getAdminProfile() ()

Táto akcia radiča v MyController bude reagovať na URI 'users / admin-profile'.

4. Vstrekovanie závislosti a ovládače

Závislosť Vstrekovanie uľahčuje testovanie a údržbu webových aplikácií.

1. Injekcia konštruktora

Laravel riadi závislosti od triedy a rieši všetky ovládače. Váš ovládač môže potrebovať závislosti v konštruktore, s Laravelom môžete napísať takmer každú z týchto závislostí. Laravel service controller vyrieši všetky závislosti automaticky a vloží ich do inštancie radiča.

<_?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. Vstrekovanie metódy

Okrem vstrekovania závislostí do konštruktora ich môžete tiež napísať do metód vášho ovládača. Napríklad inštancia Illuminate \ Http \ Request môže byť vstreknutá do metódy radiča nasledovne:

<_?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;
//
)
)

Vlastnosti ovládačov Laravel

Ďalej uvádzame niekoľko funkcií ovládača lariev:

  • Podpora MVC: Laravel je podporovaný architektúrou MVC. Uľahčuje vývoj, pretože jeden používateľ môže pracovať na logike, zatiaľ čo druhý pracuje na zobrazení. Pre model je podporovaných viacero zobrazení, pretože obchodná logika je oddelená od prezentačnej logiky.
  • Autentifikácia: Laravel má zabudovaný systém pre autentifikáciu, postarajte sa iba o ďalšie aspekty, ako je konfigurácia pohľadov, modelov a radičov.
  • Bezpečnosť: Bezpečnosť je najdôležitejším faktorom, ktorý treba brať do úvahy pri vývoji aplikácie. Laravel poskytuje bezpečnosť prostredníctvom zabudovaného zabezpečenia aplikácií.
  • Artisan: Artisan pomáha pri vykonávaní opakujúcich sa úloh bez toho, aby ich vývojári museli vykonávať manuálne. Tieto môžu byť použité na vytvorenie štruktúry databázy, kódu, migrácie, aby bola spravovateľná.
  • Šablóny: Vďaka inovatívnemu a výkonnému stroju šablón Laravel môžu vývojári vytvárať dynamické webové aplikácie.

Odporúčané články

Toto je príručka pre Laravel Controllers. Tu diskutujeme o veľkom počte konceptov radičov Laravel, ktoré vám umožnia vytvoriť si vlastný kontrolér pre vašu aplikáciu, ktorý bude zároveň bezpečný a výkonný. Viac informácií nájdete aj v nasledujúcom článku -

  1. Čo je to Laravel Framework?
  2. Laravelove príkazy
  3. Čo je Laravel?
  4. Čo je Servlet?

Kategórie: