Arkadaşlar merhaba.
Laravele özel bir dil paketi hazırladım.
Gelişmiş bir metod ile her isteği analiz edip mevcut dili belirliyor. prefix ve slug değerleri her dilde farklı ve veritabanında tutuluyor.
Başınızı ağrıtmak istemiyorum. Sistem güzel çalışıyor fakat tek problemim şu.
Kernelde bu middlewareyi tanımlamama rağmen routelerin tanımlanmasından sonra çalışıyor.
O sebeple dil sınıfından hep varsayılan dilin slugları prefixleri geliyor.
Laravelde yeni olduğum için bir türlü çözemedim. event-listner da denedim olmadı.
Nasıl bu sıralamayı düzeltebilirim?
İlk servis çalışıp dili belirlemeli, sonra routeler oluşmalı.
Bilgisi olan yardımcı olursa mutlu olurum.
Çok teşekkürler.
Konuyu çözebildiniz mi bilmiyorum ama sorunuzu şimdi gördüm sizin durumunuz da
Laravel'de dil ön ekinin ve dile göre özel slug kullanımının en doğru ve yaygın yöntemi şudur ;
Bunun sebebi Laravel'in kendi iç mekanizmasındaki Routing olayları ile ilgisi vardır. Sorun şu ki daha öncesin de bu konuyu çözmek için izlediğim yaklaşımlardan biri Laravel'in RouteRegistrar kullanarak rotaları yüklediği Routing paketinin içerisinde bir RoutingServiceProvider adında sağlayıcı mevcuttur bu sağlayıcının içerisinde rotalar ile ilgili ön yükleme alanını ve geri çağrı işlevlerini göreceksiniz o geri çağrı işlevlerinde rotaların her yeniden ön yüklenmesi ile birlikte sağlayıcının içerisinde gerekli düzenlemeleri de yapmasını sağlarsanız rotalardaki slug, ön ek gibi değişikliklerin tamamı rotalar değiştikçe değişecektir fakat sorun şunun ile bitmeyecektir. Laravelin kendi mekanizması bir önceki bağlantıyı ziyaret ederken yine size asıl tercih etmiş olduğunuz dilin bağlantısını sağlayacaktır değiştirirken bunu aşmak için URL cephesini kullanarak bir önceki rota takma adını kullanırsanız url bazlı olarak değerlendirmeyeceği için yönlendirmeler için her zaman doğru ve yeni dile geçildiğinde yeni dilin verilerini çekecektir, kolaylıklar dilerim.
O Sağlayıcı haricinde bir müdahale yaparsanız hep uygulama rotaları yüklendikten sonra değerlendirilecektir bu yüzdende geçerli olmayacaktır bilginize, fakat o sağlayıcı üzerinde değişiklik yaparsanız istediğiniz süreç aktif ve düzenli bir şekilde çalışacaktır.