Creare un controller
dalam laravelUntuk mencipta a controller
, kita mesti membuka command prompt atau terminal, mengikut sistem pengendalian yang kita gunakan, dan taip arahan berikut untuk mencipta pengawal menggunakan Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Gantikan <controller-name>
dengan nama awak controller
. Ini akan mewujudkan a controller
. The controller
dicipta boleh dilihat dalam app/Http/Controllers
.
Anda akan melihat bahawa beberapa pengekodan asas telah dilakukan untuk anda dan anda boleh menambah pengekodan tersuai anda sendiri. The controller
dicipta boleh dipanggil dari web.php dengan sintaks berikut.
Route::get(‘base URI’,’controller@method’);
1 : Jalankan arahan berikut untuk mencipta MyController
php artisan make:controller MyController
2 – Selepas pelaksanaan berjaya, anda akan mendapat output berikut.
3 – Kami akan menemui pengawal yang dicipta dalam app/Http/Controller/MyController.php
dengan beberapa kod asas yang telah ditulis dan kami boleh membuat perubahan mengikut keperluan.
Kami telah pun melihat middleware
dan kita juga boleh menggunakannya dengan controller
. The middleware
ia juga boleh diberikan kepada laluan pengawal atau dalam pembina pengawal. Anda boleh menggunakan kaedah tersebut middleware
untuk menetapkan middleware
al controller
. The middleware
berdaftar juga boleh dihadkan kepada kaedah tertentu controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Di sini kami memberikan middleware pengesahan kepada UserController dalam laluan profil.
<?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');
}
}
Di sini kami menugaskan middleware
daripada pengesahan menggunakan kaedah middleware
dalam pembina MyController .
Perhatikan bahawa $this->middleware()
ianya berfungsi sahaja jika anda menetapkannya dalam pembina. Jika kita memanggil $this->middleware()
daripada kaedah pengawal tertentu, ia tidak akan membuang sebarang ralat tetapi middleware sebenarnya tidak akan berfungsi.
Pilihan ini sah, tetapi secara peribadi saya lebih suka meletakkan semua middleware dalam routes
, kerana ia adalah lebih jelas di mana untuk mencari semua middleware
.
1 – Mari tambahkan baris kod berikut pada fail route/web.php dan kita jimat.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Mari buat a middleware
dipanggil FirstMiddleware
dengan menjalankan baris kod berikut.
php artisan make:middleware FirstMiddleware
3 : tambah kod berikut dalam kaedah mengendalikan yang FirstMiddleware
baru dibuat dalam app/Http/Perisian Tengah .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Mari buat a middleware
dipanggil SecondMiddleware dengan menjalankan arahan berikut.
php artisan make:middleware SecondMiddleware
5 : mari tambah kod berikut dalam kaedah pemegang SecondMiddleware
baru dibuat dalam app/Http/Perisian Tengah .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : mari buat a controller
dipanggil MyController dengan menjalankan baris berikut.
php artisan make:controller MyController
7 – Selepas url dijalankan dengan jayanya, anda akan mendapat output berikut –
8 – Salin kod berikut ke dalam 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 – Sekarang mari kita mulakan pelayan web dalaman php dengan menjalankan arahan berikut, jika anda belum melakukannya.
php artisan serve
10 – Lawati URL berikut.
http://localhost:8000/mycontroller/path
11 – Output akan muncul seperti yang ditunjukkan dalam imej berikut.
Hampir kedua-dua middleware terlibat, tetapi hanya satu
Controller
di restful resource
Selalunya apabila membuat aplikasi anda perlu melakukan sesuatu CRUD (Create, Read, Update, Delete)
. Laravel memudahkan kerja ini. Hanya buat a controller
dan Laravel akan menyediakan semua kaedah untuk operasi secara automatik CRUD
. Kami juga boleh merekodkan satu laluan ke semua kaedah dalam fail route.php
.
1 : buat pengawal dipanggil MyController
dengan menjalankan arahan berikut.
php artisan make:controller MyController
2 : tambah kod berikut dalam 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 – Mari tambah baris kod berikut dalam fail routes/web.php
.
Route::resource('my','MyController');
4 – Kami kini mendaftarkan semua kaedah MyController dengan mendaftarkan pengawal dengan sumber. Di bawah ialah jadual tindakan yang diuruskan oleh pengawal sumber.
Kata kerja | Jalan | Tindakan | Nama Laluan |
---|---|---|---|
GET | / saya | indeks | indeks saya |
GET | /my/create | mewujudkan | my.create |
SELEPAS | / saya | kedai atas talian kami | kedai saya |
GET | /my/{my} | Menunjukkan | rancangan saya |
GET | /my/{my}/edit | mengedit | my.edit |
PUT/PATCH | /my/{my} | maklumat | my.update |
DELETE | /my/{my} | memusnahkan | saya. memusnahkan |
5 – Cuba jalankan URL yang ditunjukkan dalam jadual di bawah.
URL | penerangan | Keluar |
---|---|---|
http://localhost:8000/my | Laksanakan kaedah indeks MyController.php | indeks |
http://localhost:8000/my/create | Laksanakan kaedah cipta MyController.php | untuk mewujudkan |
http://localhost:8000/my/1 | Laksanakan kaedah persembahan MyController.php | Menunjukkan |
http://localhost:8000/my/1/edit | Jalankan kaedah edit MyController.php | mengedit |
Ercole Palmeri
Microsoft Excel ialah alat rujukan untuk analisis data, kerana ia menawarkan banyak ciri untuk mengatur set data,…
Walliance, SIM dan platform di kalangan peneraju di Eropah dalam bidang Crowdfunding Hartanah sejak 2017, mengumumkan penyiapan…
Filamen ialah rangka kerja pembangunan Laravel yang "dipercepatkan", menyediakan beberapa komponen tindanan penuh. Ia direka untuk memudahkan proses…
«Saya mesti kembali untuk melengkapkan evolusi saya: Saya akan menayangkan diri saya di dalam komputer dan menjadi tenaga tulen. Setelah menetap di…
Google DeepMind sedang memperkenalkan versi yang dipertingkatkan bagi model kecerdasan buatannya. Model baharu yang dipertingkatkan menyediakan bukan sahaja…
Laravel, terkenal dengan sintaks yang elegan dan ciri berkuasa, juga menyediakan asas yang kukuh untuk seni bina modular. di sana…
Cisco dan Splunk membantu pelanggan mempercepatkan perjalanan mereka ke Pusat Operasi Keselamatan (SOC) masa depan dengan…
Ransomware telah mendominasi berita selama dua tahun kebelakangan ini. Kebanyakan orang sedar bahawa serangan…