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

Excel-də məlumatları necə birləşdirmək olar

İstənilən biznes əməliyyatı hətta müxtəlif formalarda çoxlu məlumat istehsal edir. Bu məlumatları Excel vərəqindən əl ilə daxil edin...

14 May 2024

Cisco Talos rüblük təhlili: cinayətkarlar tərəfindən hədəflənən korporativ e-poçtlar İstehsalat, Təhsil və Səhiyyə ən çox təsirlənən sektorlardır

Şirkət e-poçtlarının güzəşti 2024-cü ilin ilk üç ayında ilin son rübü ilə müqayisədə iki dəfədən çox artdı ...

14 May 2024

Interface segregation prinsipi (ISP), dördüncü SOLID prinsipi

İnterfeyslərin ayrılması prinsipi obyekt yönümlü dizaynın beş SOLID prinsipindən biridir. Bir sinifdə olmalıdır…

14 May 2024

Yaxşı bir təhlil üçün Excel-də məlumat və düsturları ən yaxşı şəkildə necə təşkil etmək olar

Microsoft Excel verilənlərin təhlili üçün istinad alətidir, çünki məlumat dəstlərini təşkil etmək üçün bir çox funksiyalar təklif edir,…

14 May 2024

İki mühüm Walliance Equity Crowdfunding layihəsi üçün müsbət nəticə: Jesolo Wave Island və Milano Via Ravenna

Walliance, SİM və 2017-ci ildən bəri Daşınmaz Əmlak Crowdfunding sahəsində Avropanın liderləri arasında olan platforma, tamamlandığını elan edir ...

13 May 2024

Filament nədir və Laravel Filamentindən necə istifadə olunur

Filament bir neçə tam yığın komponenti təmin edən "sürətləndirilmiş" Laravel inkişaf çərçivəsidir. Bu prosesi asanlaşdırmaq üçün nəzərdə tutulmuşdur...

13 May 2024

Süni intellektlərin nəzarəti altında

“Mən təkamülü başa çatdırmaq üçün geri qayıtmalıyam: özümü kompüterin içində layihələndirəcəyəm və saf enerjiyə çevriləcəyəm. Bir dəfə məskunlaşan…

10 May 2024

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

İnnovasiyaları öz dilinizdə oxuyun

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

bizi izləyin