Wprowadzenie do Laravel Route Controller

Kontrolery te umożliwiają tworzenie klas kontrolerów przy użyciu metod używanych do obsługi różnych żądań. Byłoby o wiele łatwiej, gdybyśmy zrozumieli koncepcję kontrolera trasy laravel na podstawie przykładu. Pójdziemy krok po kroku, aby dobrze zrozumieć kontrolery routingu. Więc przejdźmy do następujących kroków:

Jak utworzyć kontroler trasy Laravel?

Oto niektóre kroki tworzenia kontrolerów routingu Laravel, które wyjaśniono poniżej:

Krok 1: Pierwszym krokiem byłoby stworzenie kontrolera. Jeśli nie jesteś zaznajomiony z tworzeniem kontrolera, przejdź przez poniższe punkty tworzenia kontrolera, w przeciwnym razie przejdź bezpośrednio do kroku 2 dla kontrolerów routingu.

  • Użyj poniższego polecenia rzemieślnika, aby utworzyć kontroler.

Kod:

Php artisan make: Controller MyController

  • Zostanie utworzony plik MyController.php, którego domyślnym kodem jest poniższy kod.

Kod:

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

Krok 2: Teraz musisz napisać tę trasę poniżej w pliku web.php.

Kod:

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

Tutaj pierwszym parametrem jest adres URL, do którego chcesz uzyskać dostęp, a MyController jest oczywiście naszą nazwą kontrolera. Metoda „pokaż”, jak widać w pliku MyController.php, jest metodą. @Show tutaj wskazuje, że metoda show () zostanie wywołana, gdy trafimy na adres URL „/ post”.

Krok 3: Możesz teraz dodać linie kodujące, jak pokazano poniżej.

Kod:

<_?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: Teraz nadszedł czas, aby trafić w adres URL. Otrzymasz określony wynik po wprowadzeniu adresu URL. Mamy nadzieję, że omówiliśmy wystarczająco dużo informacji na temat kontrolerów, abyś mógł teraz uzyskać dostęp do swojego kontrolera. Przejdźmy teraz do przodu, w jaki sposób możemy również przekazywać dane do naszej klasy kontrolera. Ponownie byłoby znacznie łatwiej, gdybyśmy nauczyli się przekazywać dane przez parametry do naszego kontrolera za pomocą przykładu.

Przekazywanie danych do kontrolera

1. Napisz poniższą trasę w pliku web.php:

Kod:

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

Jedyna różnica w definiowaniu tej trasy polega na tym, że ten wiersz kodu zawiera również parametr „id” z adresem URL.

2. Zmodyfikuj plik „MyController.php”, jak pokazano poniżej.

Kod:

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

Tutaj jedyną różnicą w metodzie show () jest to, że zmodyfikowaliśmy ją, przekazując parametr „id” w metodzie show ().

3. Znowu trafmy na adres URL w naszej przeglądarce. Otrzymasz wynik w zależności od parametru.

Przestrzenie nazw

Oto informacje o przestrzeniach nazw:

Podczas definiowania metody Route :: get () dla naszej klasy kontrolera nie trzeba wspominać o pełnej przestrzeni nazw dla kontrolera, ponieważ „RouteServiceProvider” ładuje prawie wszystkie pliki tras w grupie tras, która zawiera w sobie przestrzeń nazw. Musisz tylko podać tę część nazwy, która pojawi się po App / Http / Controllers.

Na przykład, jeśli pełna ścieżka klasy kontrolera to App / Http / Controllers / User / UsersController, nie trzeba podawać pełnej przestrzeni nazw. Możesz po prostu zdefiniować trasę w następujący sposób:

Kod:

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

Kontroler pojedynczego działania

Jeśli chcesz zdefiniować kontroler pojedynczego działania, będziesz mógł to zrobić, umieszczając na kontrolerze pojedynczą metodę „__invoke”. Mówi się, że PHP ma kilka niesamowicie magicznych funkcji, a funkcja „__invoke” czyni tę listę magiczną. Za pomocą tej magicznej funkcji „__invoke” możesz zdefiniować klasę za pomocą tylko jednej funkcji PHP „__invoke”, a w dowolnym momencie, gdy obiekt zostanie wywołany, z kolei wywoła metodę „__invoke”, nawet bez ręcznego o nazwie $ obj-> randomFunction ().

Teraz pojawia się pytanie, gdzie możesz go użyć? Szczerze mówiąc, naszą psychologią jest zadawanie tego pytania za każdym razem, gdy napotykamy jakąkolwiek nową funkcjonalność. Jako przykład można to wykorzystać podczas wdrażania SRP (zasada pojedynczej odpowiedzialności). Tak jak zrobiliśmy powyższy kontroler za pomocą polecenia rzemieślnika, podobnie używając php artisan: make controller MyController, kodowanie pliku MyController będzie wyglądać jak pokazano poniżej:

Kod:

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

Dobrze jest dodawać wiersze kodu dla metody __invoke () w klasie MyController. Oto przykład, jak będzie wyglądać klasa po dodaniu kodu.

Kod:

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

Teraz plik web.php musi zostać zmodyfikowany, ponieważ ponosi wyłączną odpowiedzialność za całą obsługę akcji. Wiersz kodu będzie wyglądał mniej więcej tak:

Kod:

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

Ten wiersz kodu uderzy w funkcję „__invoke ()” naszej klasy MyController. Można stąd wyciągnąć wniosek, że nie trzeba pisać funkcji @invoke, aby uzyskać dostęp do kontrolerów pojedynczego działania.

Uwaga: W przypadku, gdy nie określisz żadnej akcji, tj. Nie napiszesz metody __invoke (), wygeneruje błąd Nieprawidłowa akcja trasy, tj. U nieoczekiwana wartość wyrażenia.

Spostrzeżenia dotyczące tworzenia tras Laravel

Każda trasa w Laravel jest zdefiniowana w plikach tras. Te pliki tras można znaleźć w podkatalogu tras. Nie ma potrzeby ręcznego ładowania tych plików, ponieważ są one automatycznie ładowane przez środowisko Laravela. Plik trasy aplikacji zostanie zapisany w pliku „app / Http / trasy.php”. Ogólny routing dla dowolnego żądania w Laravel wygląda następująco:

Kod:

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

Kod:

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

Mechanizm routingu

Mechanizm routingu można zrozumieć za pomocą trzech następujących kroków:

  • Najpierw utwórz główny adres URL i uruchom go.
  • Upewnij się, że twój adres URL jest zgodny z metodami w pliku root.php, tylko wtedy wszystkie powiązane funkcje zostaną wykonane.
  • Funkcja najpierw wywołuje pliki szablonów, a następnie wywoływana jest funkcja view () z nazwą pliku w resources / views /.

Wniosek

Mamy nadzieję, że do tej pory nauczyliśmy się wielu koncepcji kontrolera routingu Laravel, które umożliwią Ci stworzenie własnego kontrolera routingu Laravel dla Twojej aplikacji, który będzie jednocześnie bezpieczny i wydajny.

Polecane artykuły

To jest przewodnik po Laravel Route Controller. Tutaj omawiamy przekazywanie danych do kontrolera, przestrzeni nazw, kontrolera pojedynczego działania i różne kroki, aby utworzyć Laravel. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Polecenia Laravela