Úvod do Laravel Route Controller

Tyto řadiče umožňují vytvářet třídy řadičů pomocí metod, které se používají pro zpracování různých požadavků. Bylo by mnohem jednodušší, kdybychom pochopili koncept řídicího zařízení šotoliny pomocí příkladu. Budeme postupovat krok za krokem, abychom získali dobré znalosti o směrovacích řadičích. Takže jdeme na kroky:

Jak vytvořit Laravel Route Controller?

Zde jsou některé z kroků pro vytvoření kontrolerů směrování larvů, které jsou vysvětleny níže:

Krok 1: Prvním krokem by bylo vytvoření ovladače. Pokud nejste obeznámeni s vytvořením řadiče, projděte níže uvedené body vytvoření řadiče, jinak přejděte přímo ke kroku 2 pro směrovače.

  • Pomocí níže uvedeného příkazu řemeslníka vytvořte řadič.

Kód:

Php artisan make: Controller MyController

  • Bude vytvořen soubor MyController.php, jehož výchozí kód je níže.

Kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function show($id)
(
//
)
)

Krok 2: Nyní musíte do souboru web.php zapsat tuto trasu.

Kód:

Route::get('/post', ' ');

Zde je prvním parametrem adresa URL, ke které chcete získat přístup, a MyController je zřejmě jméno našeho řadiče. 'Show', jak můžete vidět v souboru MyController.php, je metoda. @ @ Show tedy znamená, že metoda show () bude volána, když narazíme na URL '/ post'.

Krok 3: Nyní můžete přidat kódovací řádky, jak je ukázáno níže.

Kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
/**
*Display resource
*
*/
public function show($id)
(
//
)
/**
*Display resource listing
*
*/
public function index()
(
//
)
/**
*Editing resource
*
*/
public function edit($id)
(
//
)
)

Krok 4: Nyní je čas zasáhnout URL. Zadaný výstup získáte po zadání adresy URL. Doufejme, že jsme pokryli dostatek poznatků o řadičích, že nyní budete mít přístup ke svému řadiči. Pojďme nyní dál, jak můžeme také předat data naší třídě řadičů. Opět by bylo mnohem snazší, kdybychom se pomocí příkladu naučili předávat data parametrům našemu kontroléru.

Předávání dat do řadiče

1. Do souboru web.php napište následující trasu:

Kód:

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

Jediný rozdíl v definování této trasy je v tom, že tento řádek kódu také obsahuje parametr 'id' s URL.

2. Upravte soubor 'MyController.php', jak je ukázáno níže.

Kód:

public function show($id)
(
return “ID is :”.$id;
)

Zde je jediným rozdílem v metodě show () to, že jsme ji upravili předáním parametru 'id' v metodě show ().

3. Znovu zasáhneme adresu URL v našem prohlížeči. Získáte výstup v závislosti na parametru.

Jmenné prostory

Zde je informace o jmenných prostorech:

Při definování metody Route :: get () pro naši třídu řadičů není třeba zmiňovat úplný jmenný prostor pro řadič, protože 'RouteServiceProvider' načte téměř všechny soubory vašich tras do skupiny tras, která obsahuje jmenný prostor. Jednoduše musíte zadat tu část názvu, která bude následovat za App / Http / Controllers.

Například, pokud je úplná cesta třídy řadičů App / Http / Controllers / User / UsersController, není třeba uvádět celý jmenný prostor. Trasu můžete jednoduše definovat takto:

Kód:

Route::get('\user', 'User\ ');

Jednorázový řadič

Pokud si přejete definovat jednočinný řadič, můžete tak učinit umístěním jediné metody „__invoke“ na svůj řadič. Říká se, že PHP má některé úžasně magické funkce a funkce „__invoke“ je na tomto magickém seznamu. Pomocí této magické funkce „__invoke“ můžete definovat třídu pouze pomocí jedné funkce PHP „__invoke“ v ní a kdykoli, kdy bude objekt nazván, bude přímo volat metodu „__invoke“, aniž by to mělo ručně nazývá $ obj-> randomFunction ().

Nyní vyvstává otázka, kde ji můžete použít? Je to spravedlivé, je to naše psychologie, abychom se zeptali na tuto otázku pokaždé, když se setkáme s jakoukoli novou funkcí. Jako příklad lze použít při implementaci SRP (Single Responsibility Principle). Stejně jako jsme vytvořili výše uvedený řadič pomocí příkazu řemeslníka, podobně pomocí řemeslníka php: make controller MyController, bude kódování souboru MyController vypadat, jak je znázorněno níže:

Kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
//
)

Je dobré přidat řádky kódu pro metodu __invoke () ve třídě MyController. Zde je příklad, jak bude třída vypadat po přidání kódu.

Kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function __invoke($id)
(
return “ID is :”.$id;
)
)

Nyní je třeba soubor web.php upravit, protože je výhradně odpovědný za veškeré zpracování akce. Řádek kódu bude vypadat asi takto:

Kód:

Route::get('/post/(id)', 'MyController');

Tento řádek kódu zasáhne funkci '__invoke ()' naší třídy MyController. Z toho lze vyvodit, že k přístupu k řadičům s jednou akcí nemusíte nutně psát funkci @invoke.

Poznámka: Pokud nezadáte žádnou akci, tj. Nezpíšete metodu __invoke (), vyvolá to chybu Neplatná trasa, tj. UnexpectedValueExpression.

Statistiky pro vytváření tras Laravel

Každá trasa v Laravelu je definována v souborech tras. Tyto soubory tras lze nalézt v podadresáři tras. Není nutné tyto soubory načítat ručně, protože se automaticky načtou pomocí Laravelova rámce. Soubor trasy vaší aplikace se uloží do souboru 'app / Http / route.php'. Obecné směrování pro jakýkoli požadavek v Laravelu vypadá takto:

Kód:

Route::get ('/', anyFunction() (
return 'This is Index';
));

Kód:

Route::post ('user/dashboard', anyFunction() (
return 'This is Dashboard';
));

Mechanismus směrování

Mechanismus směrování lze pochopit pomocí tří kroků, které následují:

  • Nejprve vytvořte kořenovou adresu URL a spusťte ji.
  • Ujistěte se, že se vaše URL shoduje s metodami v souboru root.php, až poté budou provedeny všechny související funkce.
  • Funkce nejprve vyvolá soubory šablon a poté se funkce view () zavolá s názvem souboru v resources / views /.

Závěr

Doufejme, že jsme se doposud naučili spravedlivé koncepty Laravel Route Controller, které vám umožní vytvořit si vlastní Laravel směrovací řadič pro vaši aplikaci, který bude zároveň bezpečný a výkonný.

Doporučené články

Toto je průvodce ovladačem Laravel Route Controller. Zde diskutujeme data předávající do řadiče, jmenný prostor, řadič s jednou akcí a různé kroky k vytvoření Laravelu. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Laravelské příkazy

Kategorie: