towary

Laravel: Czym są kontrolery laravel

W frameworku MVC litera „C” oznacza Controllers, a w tym artykule zobaczymy jak używać Controllers w Laravel. Działa jako bezpośredni ruch między widokami i modelami. W tym artykule zobaczymy, jak tworzyć i konfigurować kontrolery w Laravel.

Creare un controller w laravelu

Stworzyć controller, musimy otworzyć wiersz polecenia lub terminal, zgodnie z używanym systemem operacyjnym, i wpisać następujące polecenie, aby utworzyć kontroler za pomocą Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Zastąpić <controller-name> z twoim imieniem controller. Spowoduje to utworzenie a controller. Plik controller utworzone można przeglądać w app/Http/Controllers .

Zobaczysz, że podstawowe kodowanie zostało już wykonane i możesz dodać własne niestandardowe kodowanie. The controller utworzony można wywołać z web.php z następującą składnią.

składnia
Route::get(‘base URI’,’controller@method’);
przykład

1 : Uruchom następujące polecenie, aby utworzyć MyController

php artisan make:controller MyController

2 – Po pomyślnym wykonaniu otrzymasz następujące dane wyjściowe.

3 – Znajdziemy kontroler utworzony w app/Http/Controller/MyController.php z już napisanym podstawowym kodem i możemy wprowadzać zmiany w razie potrzeby.

Oprogramowanie pośrednie kontrolera

Widzieliśmy już middleware i możemy go również używać z controller. Plik middleware można go również przypisać do trasy kontrolera lub w konstruktorze kontrolera. Możesz skorzystać z metody middleware przypisać middleware al controller. Plik middleware zarejestrowany może być również ograniczony do niektórych metod controller.

Przypisywanie oprogramowania pośredniczącego do trasy
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Tutaj przypisujemy oprogramowanie pośredniczące uwierzytelniania do UserController w ścieżce profilu.

Przypisanie oprogramowania pośredniczącego wewnątrz konstruktora kontrolera
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Tutaj przypisujemy middleware uwierzytelniania za pomocą metody middleware w konstruktorze MójKontroler .

Zauważ to $this->middleware() funziona tylko jeśli przypiszesz go w konstruktorze. Jeśli zadzwonimy $this->middleware() z określonej metody kontrolera, nie spowoduje to żadnych błędów, ale oprogramowanie pośrednie nie będzie działać.

Ta opcja jest poprawna, ale osobiście wolę umieścić całe oprogramowanie pośredniczące w pliku routes, ponieważ jest bardziej jasne, gdzie szukać wszystkich middleware.

przykład

1 – Dodajmy do pliku następujące linie kodu trasy/web.php i oszczędzamy.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Stwórzmy tzw middleware nazywane FirstMiddleware uruchamiając następujący wiersz kodu.

php artisan make:middleware FirstMiddleware

3 : dodaj następujący kod w metodzie uchwyt del FirstMiddleware właśnie utworzony w aplikacja/Http/Oprogramowanie pośrednie .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Stwórzmy tzw middleware nazywane Drugie oprogramowanie pośrednie uruchamiając następujące polecenie.

php artisan make:middleware SecondMiddleware

5 : dodajmy następujący kod w metodzie handle pliku SecondMiddleware właśnie utworzony w aplikacja/Http/Oprogramowanie pośrednie .

Biuletyn innowacji
Nie przegap najważniejszych wiadomości dotyczących innowacji. Zarejestruj się, aby otrzymywać je e-mailem.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : stwórzmy a controller nazywane MójKontroler uruchamiając następującą linię.

php artisan make:controller MyController

7 – Po pomyślnym wykonaniu adresu URL otrzymasz następujące dane wyjściowe –

8 – Skopiuj poniższy kod do pliku app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Teraz uruchommy wewnętrzny serwer WWW php, uruchamiając następujące polecenie, jeśli jeszcze tego nie zrobiłeś.

php artisan serve

10 – Odwiedź następujący adres URL.

http://localhost:8000/mycontroller/path

11 – Dane wyjściowe będą wyglądać tak, jak pokazano na poniższym obrazku.

Praktycznie oba programy pośrednie są zaangażowane, ale tylko jedno

Controller di restful resource

Często podczas tworzenia aplikacji trzeba coś zrobić CRUD (Create, Read, Update, Delete)Laravel ułatwia to zadanie. Po prostu utwórz controller a Laravel automatycznie zapewni wszystkie metody operacji CRUD. Możemy również zapisać pojedynczą ścieżkę do wszystkich metod w pliku route.php.

przykład

1 : utwórz kontroler o nazwie MyController uruchamiając następujące polecenie.

php artisan make:controller MyController

2 : dodaj następujący kod w app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – Dodajmy następującą linię kodu w pliku routes/web.php .

Route::resource('my','MyController');

4 – Rejestrujemy teraz wszystkie metody MyController, rejestrując kontroler z zasobem. Poniżej znajduje się tabela akcji zarządzanych przez kontroler zasobów.

CzasownikścieżkaDziałaniaNazwa trasy
GET/ mywskaźnikmój indeks
GET/mój/utwórzStwórzmój.utwórz
POST/ mysklepmój sklep
GET/mój/{mój}pokazaćmoje przedstawienie
GET/mój/{mój}/edytujeditmoja zmiana
UMIEŚĆ/ŁATAĆ/mój/{mój}aktualizacjamoja.aktualizacja
DELETE/mój/{mój}zniszczyćmój. zniszczyć

5 – Spróbuj uruchomić adresy URL przedstawione w poniższej tabeli.

URLOpisuscita
http://localhost:8000/myWykonaj metodę index MyController.phpwskaźnik
http://localhost:8000/my/createWykonaj metodę tworzenia MyController.phpcreare
http://localhost:8000/my/1Wykonaj metodę show MyController.phppokazać
http://localhost:8000/my/1/editWykonaj metodę edycji MyController.phpedit

Ercole Palmeri

Biuletyn innowacji
Nie przegap najważniejszych wiadomości dotyczących innowacji. Zarejestruj się, aby otrzymywać je e-mailem.

Najnowsze artykuły

Jak najlepiej uporządkować dane i formuły w Excelu, aby uzyskać dobrze przeprowadzoną analizę

Microsoft Excel jest narzędziem referencyjnym do analizy danych, ponieważ oferuje wiele funkcji organizowania zbiorów danych,…

14 maja 2024

Pozytywny wniosek dla dwóch ważnych projektów crowdfundingowych Walliance Equity: Jesolo Wave Island i Milano Via Ravenna

Walliance, SIM i platforma wśród liderów w Europie w dziedzinie crowdfundingu nieruchomości od 2017 roku ogłasza zakończenie…

13 maja 2024

Co to jest Filament i jak korzystać z Filamentu Laravel

Filament to „przyspieszony” framework programistyczny Laravel, zapewniający kilka pełnych komponentów. Ma na celu uproszczenie procesu…

13 maja 2024

Pod kontrolą sztucznej inteligencji

«Muszę wrócić, aby dokończyć moją ewolucję: przeniosę się do wnętrza komputera i stanę się czystą energią. Po osiedleniu się…

10 maja 2024

Nowa sztuczna inteligencja Google może modelować DNA, RNA i „wszystkie cząsteczki życia”

Google DeepMind wprowadza ulepszoną wersję swojego modelu sztucznej inteligencji. Nowy ulepszony model zapewnia nie tylko…

9 maja 2024

Odkrywanie modułowej architektury Laravela

Laravel, znany ze swojej eleganckiej składni i potężnych funkcji, zapewnia również solidną podstawę architektury modułowej. Tam…

9 maja 2024

Cisco Hypershield i przejęcie Splunk Rozpoczyna się nowa era bezpieczeństwa

Cisco i Splunk pomagają klientom przyspieszyć podróż do Centrum Operacji Bezpieczeństwa (SOC) przyszłości dzięki…

8 maja 2024

Poza stroną ekonomiczną: nieoczywisty koszt oprogramowania ransomware

Ransomware dominuje w wiadomościach od dwóch lat. Większość ludzi doskonale zdaje sobie sprawę, że ataki…

6 maja 2024