Məqalələr

Laravel: laravel Nəzarətçiləri nədir

MVC çərçivəsində “C” hərfi Nəzarətçiləri ifadə edir və bu məqalədə biz Laraveldə Nəzarətçilərdən necə istifadə edəcəyimizi görəcəyik. Görünüşlər və modellər arasında birbaşa trafik kimi çıxış edir. Bu yazıda biz Laravel-də nəzarətçiləri necə yaratmaq və quraşdırmaq lazım olduğunu görürük.

Creare un controller laraveldə

yaratmaq üçün a controller, istifadə etdiyimiz əməliyyat sisteminə uyğun olaraq əmr satırını və ya terminalı açmalıyıq və istifadə edərək nəzarətçi yaratmaq üçün aşağıdakı əmri yazmalıyıq. Artisan CLI (Command Line Interface).

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

Əvəz edin <controller-name> sənin adınla controller. Bu yaradacaq controller. The controller yaradılmışdır app/Http/Controllers .

Bəzi əsas kodlaşdırmanın artıq sizin üçün edildiyini görəcəksiniz və siz öz xüsusi kodlaşdırmanızı əlavə edə bilərsiniz. The controller yaradılmış web.php-dən aşağıdakı sintaksislə çağırıla bilər.

sintaksis
Route::get(‘base URI’,’controller@method’);
misal

1 : Yaratmaq üçün aşağıdakı əmri yerinə yetirin MyController

php artisan make:controller MyController

2 – Uğurlu icradan sonra aşağıdakı nəticəni alacaqsınız.

3 – Yaradılmış nəzarətçini tapacağıq app/Http/Controller/MyController.php bəzi əsas kodlar artıq yazılmışdır və biz lazım olduqda dəyişikliklər edə bilərik.

Nəzarətçi ara proqramı

Biz artıq görmüşük middleware ilə də istifadə edə bilərik controller. The middleware o, həmçinin nəzarətçi marşrutuna və ya nəzarətçi konstruktoru daxilində təyin edilə bilər. Metoddan istifadə edə bilərsiniz middleware təyin etmək middleware al controller. The middleware Qeydə alınmış müəyyən üsullarla da məhdudlaşdırıla bilər controller.

Ara proqramın marşruta təyin edilməsi
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Burada biz profil yolunda UserController-ə autentifikasiya ara proqramını təyin edirik.

Kontroller konstruktoru daxilində orta proqram təyinatı
<?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');
   }
}

Burada biz təyin edirik middleware autentifikasiya metodundan istifadə etməklə middleware konstruktorda MyController .

Qeyd edək ki $this->middleware() işləyir yalnız onu konstruktorda təyin etsəniz. Zəng etsək $this->middleware() xüsusi nəzarətçi metodundan heç bir səhv atmayacaq, lakin ara proqram əslində işləməyəcək.

Bu seçim etibarlıdır, lakin şəxsən bütün ara proqram təminatını daxil etməyə üstünlük verirəm routes, çünki bütün bunları harada axtarmaq lazım olduğu daha aydındır middleware.

misal

1 – Fayla aşağıdakı kod sətirlərini əlavə edək marşrutlar/web.php və qənaət edirik.

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

2 - Gəlin a yaradaq middleware çağırdı FirstMiddleware aşağıdakı kod xəttini işlətməklə.

php artisan make:middleware FirstMiddleware

3 : metoda aşağıdakı kodu əlavə edin idarə the FirstMiddleware yeni yaradılmışdır 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 - Gəlin a yaradaq middleware çağırdı SecondMiddleware aşağıdakı əmri işlətməklə.

php artisan make:middleware SecondMiddleware

5 : nin sapı metoduna aşağıdakı kodu əlavə edək SecondMiddleware yeni yaradılmışdır app/Http/Middleware .

İnnovasiya bülleteni
Yeniliklərlə bağlı ən vacib xəbərləri qaçırmayın. Onları e-poçtla almaq üçün qeydiyyatdan keçin.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : a yaradaq controller çağırdı MyController aşağıdakı xətti işlətməklə.

php artisan make:controller MyController

7 – URL uğurla icra edildikdən sonra aşağıdakı nəticəni alacaqsınız –

8 – Aşağıdakı kodu fayla kopyalayın 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 – İndi, əgər siz hələ etməmisinizsə, aşağıdakı əmri işlətməklə php daxili veb serverini işə salaq.

php artisan serve

10 – Aşağıdakı URL-i ziyarət edin.

http://localhost:8000/mycontroller/path

11 – Çıxış aşağıdakı şəkildə göstərildiyi kimi görünəcək.

Faktiki olaraq hər iki orta proqram iştirak edir, lakin yalnız bir

Controller di restful resource

Tez-tez bir proqram yaratarkən bir şey etməlisiniz CRUD (Create, Read, Update, Delete)Laravel bu işi asanlaşdırır. Sadəcə yaradın controller və Laravel avtomatik olaraq əməliyyatlar üçün bütün üsulları təmin edəcək CRUD. Biz həmçinin fayldakı bütün metodlara tək bir yol qeyd edə bilərik route.php.

misal

1 : adlı nəzarətçi yaradın MyController aşağıdakı əmri işlətməklə.

php artisan make:controller MyController

2 : aşağıdakı kodu əlavə edin 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 – Fayla aşağıdakı kod sətirini əlavə edək routes/web.php .

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

4 – İndi nəzarətçini resursla qeyd etməklə MyController-in bütün üsullarını qeydiyyatdan keçiririk. Aşağıda resurs nəzarətçisi tərəfindən idarə olunan hərəkətlər cədvəli verilmişdir.

Fe'lYolfəaliyyətMarşrutun adı
GET/ mənimindeksmənim indeksim
GET/mənim/yaratyaratmaqmy.create
POST/ mənimsaxlamaqmy.mağaza
GET/mənim/{mənim}Göstərməkmənim.şou
GET/mənim/{mənim}/editredaktə etməkmy.edit
PUT/PATCH/mənim/{mənim}yeniləməmy.update
DELETE/mənim/{mənim}məhv etməkmənim. məhv etmək

5 – Aşağıdakı cədvəldə göstərilən URL-ləri işə salmağa çalışın.

URLTəsvirÇıx
http://localhost:8000/myMyController.php-nin indeks metodunu icra edinindeks
http://localhost:8000/my/createMyController.php-nin yaratma metodunu icra edinyaratmaq
http://localhost:8000/my/1MyController.php-nin şou metodunu icra edinGöstərmək
http://localhost:8000/my/1/editMyController.php-nin redaktə üsulunu yerinə yetirinredaktə etmək

Ercole Palmeri

İnnovasiya bülleteni
Yeniliklərlə bağlı ən vacib xəbərləri qaçırmayın. Onları e-poçtla almaq üçün qeydiyyatdan keçin.

Articoli recenti

Google-un yeni süni intellekti DNT, RNT və "həyatın bütün molekullarını" modelləşdirə bilər.

Google DeepMind süni intellekt modelinin təkmilləşdirilmiş versiyasını təqdim edir. Yeni təkmilləşdirilmiş model təkcə…

9 May 2024

Laravelin modul arxitekturasının araşdırılması

Zərif sintaksisi və güclü xüsusiyyətləri ilə məşhur olan Laravel, həmçinin modul arxitektura üçün möhkəm zəmin yaradır. Orada…

9 May 2024

Cisco Hypershield və Splunk-un alınması Yeni təhlükəsizlik dövrü başlayır

Cisco və Splunk müştərilərə gələcəyin Təhlükəsizlik Əməliyyatları Mərkəzinə (SOC) səyahətlərini sürətləndirməyə kömək edir...

8 May 2024

İqtisadi tərəfdən kənarda: ransomware-in açıq-aşkar dəyəri

Ransomware son iki ildə xəbərlərdə üstünlük təşkil edir. İnsanların çoxu yaxşı bilir ki, hücumlar...

6 May 2024

Catania Poliklinikasında Apple tamaşaçısı ilə Artırılmış Reallığa innovativ müdaxilə

Kataniya poliklinikasında Apple Vision Pro kommersiya görüntüləyicisi ilə oftalmoplastika əməliyyatı həyata keçirilib...

3 May 2024

Uşaqlar üçün Boyama Səhifələrinin Faydaları - bütün yaşlar üçün sehrli bir dünya

Rəngləmə yolu ilə incə motor bacarıqlarının inkişafı uşaqları yazı kimi daha mürəkkəb bacarıqlara hazırlayır. Rəngləmək üçün…

2 May 2024

Gələcək buradadır: Gəmiçilik Sənayesi Qlobal İqtisadiyyatda Necə inqilab edir

Dəniz sektoru 150 milyardlıq bazara doğru irəliləyən əsl qlobal iqtisadi gücdür...

1 May 2024

Nəşriyyatçılar və OpenAI süni intellekt tərəfindən işlənmiş məlumat axınını tənzimləmək üçün müqavilələr imzalayırlar.

Keçən bazar ertəsi Financial Times OpenAI ilə müqavilə elan etdi. FT dünya səviyyəli jurnalistikasına lisenziya verir...

30 Aprel 2024