İçindekiler
İçinde laravel 5 filtrelere benzer yeni bir bileşen olan ara katman yazılımlarımız var, ancak ne olduğu açık olmalı. onların yerine geçmezler, aynı da değildirler.NS filtreler ile yaşamaya devam ederler. ara katman yazılımları içinde laravel 5, ve gelecekte bunların ortadan kaldırılabileceğini düşünmeme rağmen, şimdilik bunu yapmadılar, bu nedenle filtreleri yaptığınız şekilde kullanmaya devam etmek veya daha sezgisel olduğunu düşündüğüm ara yazılımı kullanmak arasında seçim yapabilirsiniz.
Laravel, uygulama kullanıcısının kimliğinin doğrulanıp doğrulanmadığını doğrulayan bir ara katman yazılımı içerir, bu varsayılan olarak gelir ve Laravel'in varsayılan olarak getirdiği geçişleri kullanarak ve / ana sayfaya erişmeye çalışarak etkinleştirebilirsiniz.
Bu mekanizmanın avantajı sitemize gelen taleplerin daha iyi kontrol edilebilmesi yani uygulamamızın mantığına farklı iş modelleri için düzenli ve doğru bir şekilde ek katmanlar eklemeye gerek kalmadan ek katmanlar eklememizdir. yenilerini ekleyin. harici bileşenler.
Laravel, Authenticate adında bir ara katman yazılımına sahiptir ve şurada barındırılmaktadır: Uygulama \ Http \ Ara Yazılım, burada kimlik doğrulama ara yazılımı örneği.
Bir ara yazılımın en yaygın kapsamı, katmanlı auth'dur (kimlik doğrulama). Belirli sayfaların içeriğini görebilmek için oturumların belirli ayrıcalıklara sahip olmasının gerekli olduğu sitelerde çok kullanışlıdır.
Bir ara katman yazılımı nasıl oluşturulur?
Yapılacak ilk şey bir Laravel 5.1 projesi oluşturmaktır. Bunu başarmak için besteci kullanabilirsiniz.
besteci kurulum yarat-proje laravel / laravel projemDaha sonra terminal / konsolu yazıyoruz:
php esnaf markası: ara yazılım TypeMiddlewareApp / Http / Middleware'i kontrol edersek, TypeMiddleware.php dosyasının buna eşit olarak oluşturulduğunu görürüz:
Şimdi bu ara katman yazılımına işlevsellik vermemiz gerekiyor, bunun için route.php içinde yeni bir rota oluşturuyoruz:
Route :: get ('panel', ['middleware' => 'type', function () {return '';}]);Bir önceki adımda/panelde oluşturulan yola girmeye çalışırsak, "type" sınıfının olmadığını belirten bir hata görüntülenecektir. Endişelenmeyin, bunun nedeni bu ara katman yazılımının kayıt defterimize eklenmemiş olmasıdır.
App / Http'de bulunan Kernel.php dosyasına gitmeli ve bunları yola göre belirli ara katman yazılımına yerleştirmeliyiz. Global olarak yerleştirilirlerse, erişilen yoldan bağımsız olarak uygulamaya yapılan her istek için yürütülür ve normalde bu bir hata olur. Bu yüzden onu $ routeMiddleware dizisinde ilan ediyoruz.
Şimdi denersek, İŞE YARIYOR, Bu noktada path / panele sorunsuz ve bize hata vermeden erişebilmemiz gerekiyor, ama hadi, bunun henüz bir işlevi yok, #programa.
Tür değişkeni Yönetici'ye eşitse doğrulamayı test edeceğiz, sayfa görüntülenecek; aksi takdirde sitenin başına gidin.
Laravel 5.1'deki yerleşik bir artı, rotalardan parametre iletme yeteneğidir:
Ve bununla bitiriyoruz, kendi ara katman yazılımınızı nasıl yapacağınızı zaten biliyorsunuz, yorum yapın ve paylaşın, birlikte daha birçok şey öğreneceğiz. Selamlar.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.