artikel

Laravel: Apakah itu Pengawal laravel

Dalam rangka kerja MVC, huruf "C" bermaksud Pengawal, dan dalam artikel ini kita akan melihat cara menggunakan Pengawal dalam Laravel. Bertindak sebagai trafik langsung antara paparan dan model. Dalam artikel ini kita melihat cara membuat dan menyediakan pengawal dalam Laravel.

Creare un controller dalam laravel

Untuk 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.

sintaks
Route::get(‘base URI’,’controller@method’);
contoh

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.

Perisian tengah pengawal

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.

Menetapkan perisian tengah kepada laluan
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Di sini kami memberikan middleware pengesahan kepada UserController dalam laluan profil.

Tugasan middleware di dalam pembina pengawal
<?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.

contoh

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 .

Surat berita inovasi
Jangan terlepas berita paling penting tentang inovasi. Daftar untuk menerimanya melalui e-mel.
<?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.

contoh

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 kerjaJalanTindakanNama Laluan
GET/ sayaindeksindeks saya
GET/my/createmewujudkanmy.create
SELEPAS/ sayakedai atas talian kamikedai saya
GET/my/{my}Menunjukkanrancangan saya
GET/my/{my}/editmengeditmy.edit
PUT/PATCH/my/{my}maklumatmy.update
DELETE/my/{my}memusnahkansaya. memusnahkan

5 – Cuba jalankan URL yang ditunjukkan dalam jadual di bawah.

URLpeneranganKeluar
http://localhost:8000/myLaksanakan kaedah indeks MyController.phpindeks
http://localhost:8000/my/createLaksanakan kaedah cipta MyController.phpuntuk mewujudkan
http://localhost:8000/my/1Laksanakan kaedah persembahan MyController.phpMenunjukkan
http://localhost:8000/my/1/editJalankan kaedah edit MyController.phpmengedit

Ercole Palmeri

Surat berita inovasi
Jangan terlepas berita paling penting tentang inovasi. Daftar untuk menerimanya melalui e-mel.

Artikel baru-baru ini

Cara terbaik untuk menyusun data dan formula dalam Excel, untuk analisis yang dilakukan dengan baik

Microsoft Excel ialah alat rujukan untuk analisis data, kerana ia menawarkan banyak ciri untuk mengatur set data,…

14 Mei 2024

Kesimpulan positif untuk dua projek Walliance Equity Crowdfunding yang penting: Jesolo Wave Island dan Milano Via Ravenna

Walliance, SIM dan platform di kalangan peneraju di Eropah dalam bidang Crowdfunding Hartanah sejak 2017, mengumumkan penyiapan…

13 Mei 2024

Apakah itu Filamen dan cara menggunakan Filamen Laravel

Filamen ialah rangka kerja pembangunan Laravel yang "dipercepatkan", menyediakan beberapa komponen tindanan penuh. Ia direka untuk memudahkan proses…

13 Mei 2024

Di bawah kawalan Kecerdasan Buatan

«Saya mesti kembali untuk melengkapkan evolusi saya: Saya akan menayangkan diri saya di dalam komputer dan menjadi tenaga tulen. Setelah menetap di…

10 Mei 2024

Kecerdasan buatan baharu Google boleh memodelkan DNA, RNA dan "semua molekul kehidupan"

Google DeepMind sedang memperkenalkan versi yang dipertingkatkan bagi model kecerdasan buatannya. Model baharu yang dipertingkatkan menyediakan bukan sahaja…

9 Mei 2024

Meneroka Seni Bina Modular Laravel

Laravel, terkenal dengan sintaks yang elegan dan ciri berkuasa, juga menyediakan asas yang kukuh untuk seni bina modular. di sana…

9 Mei 2024

Cisco Hypershield dan pemerolehan Splunk Era keselamatan baharu bermula

Cisco dan Splunk membantu pelanggan mempercepatkan perjalanan mereka ke Pusat Operasi Keselamatan (SOC) masa depan dengan…

8 Mei 2024

Di luar sisi ekonomi: kos perisian tebusan yang tidak jelas

Ransomware telah mendominasi berita selama dua tahun kebelakangan ini. Kebanyakan orang sedar bahawa serangan…

6 Mei 2024