Creare un controller
w laraveluStworzyć 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ą.
Route::get(‘base URI’,’controller@method’);
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.
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
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Tutaj przypisujemy oprogramowanie pośredniczące uwierzytelniania do UserController w ścieżce profilu.
<?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
.
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 .
<?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
.
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żka | Działania | Nazwa trasy |
---|---|---|---|
GET | / my | wskaźnik | mój indeks |
GET | /mój/utwórz | Stwórz | mój.utwórz |
POST | / my | sklep | mój sklep |
GET | /mój/{mój} | pokazać | moje przedstawienie |
GET | /mój/{mój}/edytuj | edit | moja zmiana |
UMIEŚĆ/ŁATAĆ | /mój/{mój} | aktualizacja | moja.aktualizacja |
DELETE | /mój/{mój} | zniszczyć | mój. zniszczyć |
5 – Spróbuj uruchomić adresy URL przedstawione w poniższej tabeli.
URL | Opis | uscita |
---|---|---|
http://localhost:8000/my | Wykonaj metodę index MyController.php | wskaźnik |
http://localhost:8000/my/create | Wykonaj metodę tworzenia MyController.php | creare |
http://localhost:8000/my/1 | Wykonaj metodę show MyController.php | pokazać |
http://localhost:8000/my/1/edit | Wykonaj metodę edycji MyController.php | edit |
Ercole Palmeri
Microsoft Excel jest narzędziem referencyjnym do analizy danych, ponieważ oferuje wiele funkcji organizowania zbiorów danych,…
Walliance, SIM i platforma wśród liderów w Europie w dziedzinie crowdfundingu nieruchomości od 2017 roku ogłasza zakończenie…
Filament to „przyspieszony” framework programistyczny Laravel, zapewniający kilka pełnych komponentów. Ma na celu uproszczenie procesu…
«Muszę wrócić, aby dokończyć moją ewolucję: przeniosę się do wnętrza komputera i stanę się czystą energią. Po osiedleniu się…
Google DeepMind wprowadza ulepszoną wersję swojego modelu sztucznej inteligencji. Nowy ulepszony model zapewnia nie tylko…
Laravel, znany ze swojej eleganckiej składni i potężnych funkcji, zapewnia również solidną podstawę architektury modułowej. Tam…
Cisco i Splunk pomagają klientom przyspieszyć podróż do Centrum Operacji Bezpieczeństwa (SOC) przyszłości dzięki…
Ransomware dominuje w wiadomościach od dwóch lat. Większość ludzi doskonale zdaje sobie sprawę, że ataki…