Makaleler

Laravel: laravel Denetleyicileri nedir?

MVC çerçevesinde “C” harfi Controllers anlamına gelir ve bu yazımızda Controllers'ın Laravel'de nasıl kullanılacağını göreceğiz. Görünümler ve modeller arasında doğrudan trafik görevi görür. Bu yazıda Laravel'de denetleyicilerin nasıl oluşturulacağını ve kurulacağını görüyoruz.

Creare un controller laravel'de

Oluşturmak için controller, kullandığımız işletim sistemine göre komut istemini veya terminali açmalı ve aşağıdaki komutu kullanarak denetleyici oluşturmak için aşağıdaki komutu yazmalıyız. Artisan CLI (Command Line Interface).

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

Yer değiştirmek <controller-name> senin adınla controller. Bu yaratacak controller. controller oluşturulan görüntülenebilir app/Http/Controllers .

Bazı temel kodlamaların sizin için zaten yapıldığını göreceksiniz ve kendi özel kodlamanızı ekleyebileceksiniz. bu controller oluşturulan web.php'den aşağıdaki söz dizimi ile çağrılabilir.

sözdizimi
Route::get(‘base URI’,’controller@method’);
örnek

1 : Oluşturmak için aşağıdaki komutu çalıştırın MyController

php artisan make:controller MyController

2 – Başarıyla çalıştırdıktan sonra aşağıdaki çıktıyı alacaksınız.

3 – Oluşturulan denetleyiciyi bulacağız app/Http/Controller/MyController.php önceden yazılmış bazı temel kodlarla ve gerektiğinde değişiklikler yapabiliriz.

Denetleyici ara yazılımı

biz zaten gördük middleware ve ayrıca şununla da kullanabiliriz: controller. middleware ayrıca denetleyici yoluna veya denetleyici yapıcısına atanabilir. yöntemi kullanabilirsiniz middleware atamak middleware al controller. middleware tescili ayrıca belirli yöntemlerle sınırlandırılabilir. controller.

Ara yazılımı rotaya atama
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Burada, profil yolundaki UserController'a kimlik doğrulama ara yazılımı atıyoruz.

Denetleyici oluşturucusu içindeki ara yazılım ataması
<?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 atama yapıyoruz middleware kimlik doğrulama yöntemi kullanarak middleware yapıcıda Denetleyicim .

Dikkat $this->middleware() Funziona sadece yapıcıda atarsanız. eğer ararsak $this->middleware() belirli bir denetleyici yönteminden, herhangi bir hata atmaz, ancak ara katman yazılımı gerçekten çalışmaz.

Bu seçenek geçerlidir, ancak Şahsen tüm ara katman yazılımını içine koymayı tercih ederim routes, çünkü tüm bilgileri nerede arayacağınız daha net middleware.

örnek

1 – Aşağıdaki kod satırlarını dosyaya ekleyelim rotalar/web.php ve kurtarıyoruz.

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

2 – Hadi oluşturalım middleware aranan FirstMiddleware aşağıdaki kod satırını çalıştırarak.

php artisan make:middleware FirstMiddleware

3 : yöntemde aşağıdaki kodu ekleyin sap del FirstMiddleware yeni oluşturuldu uygulama/Http/Ara yazılım .

<?php

namespace App\Http\Middleware;
use Closure;

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

4 – Hadi oluşturalım middleware aranan İkinciAra Katman aşağıdaki komutu çalıştırarak.

php artisan make:middleware SecondMiddleware

5 : tanıtıcının handle yöntemine aşağıdaki kodu ekleyelim. SecondMiddleware yeni oluşturuldu uygulama/Http/Ara yazılım .

İnovasyon bülteni
İnovasyonla ilgili en önemli haberleri kaçırmayın. Onları e-posta ile almak için kaydolun.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : oluşturalım controller aranan Denetleyicim aşağıdaki satırı çalıştırarak.

php artisan make:controller MyController

7 – URL başarılı bir şekilde yürütüldükten sonra aşağıdaki çıktıyı alacaksınız –

8 – Aşağıdaki kodu dosyaya 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 – Şimdi, henüz yapmadıysanız, aşağıdaki komutu çalıştırarak dahili php web sunucusunu başlatalım.

php artisan serve

10 – Aşağıdaki URL'yi ziyaret edin.

http://localhost:8000/mycontroller/path

11 – Çıktı aşağıdaki resimde gösterildiği gibi görünecektir.

Neredeyse her iki ara katman yazılımı da söz konusudur, ancak yalnızca biri

Controller di restful resource

Genellikle bir uygulama oluştururken bir şeyler yapmanız gerekir. CRUD (Create, Read, Update, Delete)Laravel bu işi kolaylaştırır. sadece bir tane oluştur controller ve Laravel, işlemler için tüm yöntemleri otomatik olarak sağlayacaktır. CRUD. Dosyadaki tüm yöntemlere tek bir yol da kaydedebiliriz. route.php.

örnek

1 : adlı bir denetleyici oluşturun MyController aşağıdaki komutu çalıştırarak.

php artisan make:controller MyController

2 : aşağıdaki kodu ekleyin 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 – Aşağıdaki kod satırını dosyaya ekleyelim routes/web.php .

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

4 – Artık bir denetleyiciyi kaynağa kaydederek tüm Denetleyicim yöntemlerini kaydediyoruz. Kaynak denetleyicisi tarafından yönetilen eylemlerin tablosu aşağıdadır.

FiilYolActionRota Adı
GET/ benimindeksbenim.dizim
GET/benim/yaratımyaratmakbenim.create
POST/ benimmağazabenim hikayem
GET/benim benim}şovBenim şovum
GET/benim/{benim}/düzenledüzenlemebenim düzenlemem
KOY / YAMA/benim benim}güncelleştirmegüncellemem
SİL/benim benim}yıkmakbenim.yok et

5 – Aşağıdaki tabloda gösterilen URL'leri çalıştırmayı deneyin.

URLtanımçıkış
http://localhost:8000/myMyController.php'nin indeks yöntemini yürütünindeks
http://localhost:8000/my/createMyController.php'nin oluşturma yöntemini yürütünyaratmak
http://localhost:8000/my/1MyController.php'nin show yöntemini yürütünşov
http://localhost:8000/my/1/editMyController.php'nin düzenleme yöntemini yürütündüzenleme

Ercole Palmeri

İnovasyon bülteni
İnovasyonla ilgili en önemli haberleri kaçırmayın. Onları e-posta ile almak için kaydolun.

Son Makaleler

İyi bir analiz için verileri ve formülleri Excel'de en iyi şekilde nasıl organize edebilirsiniz?

Microsoft Excel, veri analizi için referans aracıdır, çünkü veri kümelerini düzenlemek için birçok özellik sunar,…

14 Mayıs 2024

İki önemli Walliance Equity Kitlesel Fonlama projesi için olumlu sonuç: Jesolo Wave Island ve Milano Via Ravenna

2017 yılından bu yana Gayrimenkul Kitlesel Fonlaması alanında Avrupa'nın liderleri arasında yer alan Walliance, SIM ve platform, tamamlandığını duyurdu…

13 Mayıs 2024

Filament nedir ve Laravel Filament nasıl kullanılır?

Filament, çeşitli tam yığın bileşenleri sağlayan "hızlandırılmış" bir Laravel geliştirme çerçevesidir. İşlemleri basitleştirmek için tasarlanmıştır…

13 Mayıs 2024

Yapay Zekaların kontrolü altında

«Evrimimi tamamlamak için geri dönmeliyim: Kendimi bilgisayarın içine yansıtacağım ve saf enerjiye dönüşeceğim. Bir kez yerleştikten sonra…

10 Mayıs 2024

Google'ın yeni yapay zekası DNA, RNA ve "hayatın tüm moleküllerini" modelleyebiliyor

Google DeepMind, yapay zeka modelinin geliştirilmiş bir versiyonunu sunuyor. Yeni geliştirilmiş model yalnızca…

9 Mayıs 2024

Laravel'in Modüler Mimarisini Keşfetmek

Zarif sözdizimi ve güçlü özellikleriyle ünlü Laravel, modüler mimari için de sağlam bir temel sağlar. Orada…

9 Mayıs 2024

Cisco Hypershield ve Splunk'un satın alınması Güvenlikte yeni dönem başlıyor

Cisco ve Splunk, müşterilerin geleceğin Güvenlik Operasyon Merkezine (SOC) olan yolculuklarını hızlandırmalarına yardımcı oluyor…

8 Mayıs 2024

Ekonomik yönün ötesinde: Fidye yazılımının bariz maliyeti

Fidye yazılımı son iki yıldır haberlere hakim oldu. Çoğu insan saldırıların farkındadır…

6 Mayıs 2024