Creare un controller
laravelyjeNorėdami sukurti a controller
, turime atidaryti komandų eilutę arba terminalą, atsižvelgdami į naudojamą operacinę sistemą, ir įveskite šią komandą, kad sukurtume valdiklį naudodami Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Pakeiskite <controller-name>
su tavo vardu controller
. Tai sukurs a controller
. controller
sukurtus galima peržiūrėti app/Http/Controllers
.
Pamatysite, kad tam tikras pagrindinis kodavimas jau atliktas už jus ir galėsite pridėti savo pasirinktinį kodavimą. The controller
sukurtas gali būti iškviestas iš web.php su tokia sintaksė.
Route::get(‘base URI’,’controller@method’);
1 : Norėdami sukurti, paleiskite šią komandą MyController
php artisan make:controller MyController
2 – Po sėkmingo vykdymo gausite tokią išvestį.
3 – Rasime sukurtą valdiklį app/Http/Controller/MyController.php
su tam tikru jau parašytu pagrindiniu kodu ir galime atlikti pakeitimus, jei reikia.
Mes jau matėme middleware
ir mes taip pat galime jį naudoti su controller
. middleware
jis taip pat gali būti priskirtas valdiklio maršrutui arba valdiklio konstruktoriuje. Galite naudoti metodą middleware
priskirti middleware
al controller
. middleware
registruotas taip pat gali būti apribotas tam tikrais būdais controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Čia mes priskiriame autentifikavimo tarpinę programinę įrangą UserController profilio kelyje.
<?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');
}
}
Čia mes priskiriame middleware
autentifikavimo naudojant metodą middleware
konstruktoriuje „MyController“. .
Prisimink tai $this->middleware()
tai veikia tik jei priskirsite jį konstruktoriuje. Jei paskambinsime $this->middleware()
naudojant konkretų valdiklio metodą, jis nesukels klaidų, bet tarpinė programinė įranga iš tikrųjų neveiks.
Ši parinktis galioja, bet asmeniškai man labiau patinka įdėti visą tarpinę programinę įrangą routes
, nes aiškiau, kur ieškoti visų middleware
.
1 – Pridėkime prie failo šias kodo eilutes routes/web.php ir taupome.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Sukurkime a middleware
paskambino FirstMiddleware
paleisdami šią kodo eilutę.
php artisan make:middleware FirstMiddleware
3 : pridėkite šį kodą prie metodo tvarkyti del FirstMiddleware
ką tik sukurtas app/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Sukurkime a middleware
paskambino Antroji vidurinė programinė įranga vykdydami šią komandą.
php artisan make:middleware SecondMiddleware
5 : pridėkime šį kodą prie rankenos metodo SecondMiddleware
ką tik sukurtas app/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : sukurkime a controller
paskambino „MyController“. paleisdami šią eilutę.
php artisan make:controller MyController
7 - Sėkmingai įvykdę URL, gausite šią išvestį -
8 – Nukopijuokite šį kodą į failą 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 – Dabar paleiskite php vidinį žiniatinklio serverį paleisdami šią komandą, jei to dar nepadarėte.
php artisan serve
10 – Apsilankykite šiuo URL.
http://localhost:8000/mycontroller/path
11 – Išvestis bus rodoma taip, kaip parodyta kitame paveikslėlyje.
Praktiškai dalyvauja abi tarpinės programinės įrangos, bet tik viena
Controller
di restful resource
Dažnai kuriant programą reikia ką nors padaryti CRUD (Create, Read, Update, Delete)
. Laravel palengvina šį darbą. Tiesiog sukurkite a controller
ir Laravel automatiškai pateiks visus operacijų metodus CRUD
. Taip pat galime įrašyti vieną kelią į visus metodus faile route.php
.
1 : sukurkite valdiklį, vadinamą MyController
vykdydami šią komandą.
php artisan make:controller MyController
2 : pridėkite šį kodą 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 – Į failą įtraukime šią kodo eilutę routes/web.php
.
Route::resource('my','MyController');
4 – Dabar registruojame visus „MyController“ metodus, registruodami valdiklį su ištekliais. Žemiau yra veiksmų, kuriuos valdo išteklių valdiklis, lentelė.
Veiksmažodis | Kelias | Veikla | Maršruto pavadinimas |
---|---|---|---|
GET | / mano | rodyklė | mano indeksas |
GET | /mano/kurti | kurti | mano.kurti |
POST | / mano | store | mano.parduotuvė |
GET | /Mano mano} | Parodyti | mano.šou |
GET | /mano/{mano}/redaguoti | redaguoti | mano.redaguoti |
PUT / PATCH | /Mano mano} | atnaujinimas | mano.atnaujinimas |
DELETE | /Mano mano} | sunaikinti | mano sunaikinti |
5 – Pabandykite paleisti URL adresus, nurodytus toliau esančioje lentelėje.
URL adresas | aprašymas | išeiti |
---|---|---|
http://localhost:8000/my | Vykdykite MyController.php indekso metodą | rodyklė |
http://localhost:8000/my/create | Vykdykite MyController.php kūrimo metodą | sukurti |
http://localhost:8000/my/1 | Vykdykite MyController.php rodymo metodą | Parodyti |
http://localhost:8000/my/1/edit | Vykdykite MyController.php redagavimo metodą | redaguoti |
Ercole Palmeri
„Google DeepMind“ pristato patobulintą dirbtinio intelekto modelio versiją. Naujasis patobulintas modelis suteikia ne tik…
Elegantiška sintaksė ir galingomis funkcijomis garsėjantis „Laravel“ taip pat suteikia tvirtą pagrindą modulinei architektūrai. Ten…
„Cisco“ ir „Splunk“ padeda klientams paspartinti jų kelionę į ateities saugos operacijų centrą (SOC) naudodami…
„Ransomware“ dominuoja naujienose pastaruosius dvejus metus. Daugelis žmonių puikiai žino, kad išpuoliai…
Katanijos poliklinikoje buvo atlikta oftalmoplastikos operacija naudojant „Apple Vision Pro“ reklaminę peržiūrą…
Lavindami smulkiosios motorikos įgūdžius dažydami, vaikai paruošiami sudėtingesniems įgūdžiams, pavyzdžiui, rašymui. Norėdami nuspalvinti…
Karinio jūrų laivyno sektorius yra tikra pasaulinė ekonominė galia, kuri pasiekė 150 mlrd.
Praėjusį pirmadienį „Financial Times“ paskelbė apie susitarimą su „OpenAI“. FT licencijuoja savo pasaulinio lygio žurnalistiką…