Laravel'in 5.8 Heyecan Verici Yeni Özelliklerini Kontrol Edin
Yayınlanan: 2022-01-02Taylor Otwell tarafından 2011'de oluşturulan olağanüstü bir PHP çerçevesi olan Laravel, tüm PHP çerçeveleri arasında en iyisidir. Erişilebilir, güçlü, sağlam ve bazı harika uygulamalar içeriyor.
Bu PHP çerçevesi, geliştiricilerin karmaşık işlevleri soyutlayan MVC modelini uygulamalarını kolaylaştırır. Güncellemeler zorunludur ve yalnızca uygulama yaşam döngüsünün iyileştirilmesi içindir.
Laravel kabaca 5-6 ayda bir güncelleme yayınlar ve bu yıl da Laravel 5.8 sürümünü (Mart'19) yayınladı ve kullanım için mevcut değil. Görevi en kısa sürede halletmek için bir Laravel geliştiricisi kiralayabilirsiniz.
Önceki sürümlerdeki sürekli iyileştirme, geliştiriciler için bazı heyecan verici özellikler getirdi. Bu yeni sürümün sunacağı bazı harika özelliklere bir göz atalım.
- Otomatik politika çözümü
- Karbon 2.0 desteği
- Tek yönlü Eloquent ilişkileri vardır
- Token koruma ve hashing
- Önbellek TTL'si
- Zamanlayıcı Saat Dilimi yapılandırması
- Artisan:: çağrı iyileştirmeleri
- Sahte/casus Test yardımcı yöntemleri
- Artisan hizmet iyileştirmeleri
- Daha yüksek dereceli anlamlı yöntem
- dotenv 3.0
- Yeni hata işleme şablonları
Otomatik politika çözümü:
Daha önceki Laravel sürümlerinin geleneksel olmayan konumlarda modelleri veya ilkeleri vardı ve AuthServiceProvider sınıfına kaydedilmesi gerekiyordu. Bu versiyonda, modeller ve politikalar geleneksel lokasyonlarda saklanacaktır.
Artık modelin yetkilendirme politikasını manuel olarak kaydetmeniz gerekmiyor. Bu yeni sürüm, standart Laravel adlandırma kurallarını izleyerek ilkeleri otomatik olarak keşfedecektir.
Kaydetmek istediğiniz poliçeler başka bir yerde bulunuyorsa, kullanarak bir geri arama kaydedin.
Gate::guessPolicyNamesUsing .
Bu yöntemi AuthServiceProvider'ın kabin yönteminden aşağıdaki şekilde çağırabilirsiniz:
Illuminate\Destek\Cepheler\Gate'i kullanın;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// ilke sınıfı adını döndür...
});
Karbon 2.0 Desteği:
Geliştiriciler için iyi haber, artık uygulamanızın varsayılan olarak CarbonImmutable'ı kullanmasını sağlayabilirsiniz.
Bu paket PHP'nin Tarih ve Saat sınıfını genişletir ve Tarih ve Saat ile çalışmayı çok kolaylaştırır. Sınıf seçimi kullanıcıya bağlıdır.
HasOneThrough Eloquent ilişkisi:
Bu yeni özellik, Rails tarafından sunulana neredeyse benzer. Bir örnek verelim, Diyelim ki üç modelimiz var, Tedarikçi, Hesap ve Hesap Geçmişi modelimiz. Basit bir deyişle, bir tedarikçinin bir hesabı ve bir hesabın bir hesap geçmişi vardır.
Daha önceki sürümlerde, hesap geçmişini almak için şunu yazardık: $supplier->account->accountHistory. Ama şimdi bu anlamlı ilişki sayesinde, hemen yazacaksınız.
$history = $supplier->accountHistory
tüm hesap modelinde.
public function accountHistory()
{
Döndür $this->hasOneThrough(AccountHistory::class, Account::class);
}
Belirteç koruma belirteci karma işlemi:
Belirteç koruması özelliği ile artık API belirteçlerini SHA-256 karmaları olarak kaydedebilirsiniz. Daha önce API'nin belirteci, şimdi geliştirilmiş olan düz metin belirteçleri olarak saklanıyordu. Bu, üretilen belirteçlerin güvenliğini ve depolanmasını artırdı.
Önbellek TTL'si:
Dakikadan önbelleğe alma ayarı şimdi saniye olarak değiştirildi. Bu iyileştirme, son kullanma süresi için daha kesin ve ayrıntılı kontrol için yapılır. Bu özellik, PSR-16 önbelleğe alma kitaplığı standardıyla uyumludur.
Ayrıca, uygulama önbelleğe alma işleminizi her zaman saniyelere güncellemeyi unutmayın.
// Laravel 5.7 - Öğeyi 5 dakika saklayın...
Önbellek::put('foo', 'bar', 10);
// Laravel 5.8 - Öğeyi 5 saniye sakla...
Önbellek::put('foo', 'bar', 10);
Zamanlayıcı Saat Dilimi yapılandırması:
Laravel'in bu yeni sürümü, saat dilimi yöntemini kullanarak listelenen bir görev için saat dilimini özelleştirmenize olanak tanır.

$program->komut('çalıştır')
->günlük()
->at('15:00')
->zaman dilimi('Amerika/Şikago');
Bu, her zamanlanmış görev için yapmak zorunda olduğunuz için önceki sürümde güç bir görev olarak kabul edildi. Ancak bununla, sadece şimdi app/Console/Kernel.php dosyasında ScheduleTimezone adlı bir yöntem tanımlamanız gerekir.
Değişiklikler daha sonra listedeki her zamanlayıcıya eklenecektir.
/**
* Planlanmış etkinlikler için varsayılan olarak kullanılması gereken saat dilimini alın.
*
* @return \DateTimeZone|string|null
*/
korumalı fonksiyon programTimezone()
{
'Amerika/Şikago'ya dönüş;
}
Artisan çağrı geliştirmeleri:
Bu yeni sürümde Artisan komutunu Artisan::call yöntemini kullanarak yapabilirsiniz. Artık komutlar, aşağıda verildiği gibi tek bir dizgede bir dizi olarak iletilebilir:
Artisan::call('migrate:install --database=foo');Artisan hizmet iyileştirmeleri:
Önceki sürümler, uygulamanın üzerinde çalışacağı 8000'de atanan varsayılan bağlantı noktasına sahipti. Ve bu bağlantı noktasında başka bir komut çalışıyorsa, muhtemelen yeni komutu sunamayacak.
Yeni sürüm, 8009'a kadar bağlantı noktasını tarayacak ve geliştiricilerin aynı anda birden fazla uygulamayı çalıştırmasına izin verecek.
Sahte/Casus Test yardımcı yöntemleri:
Sahte testler, yalnızca geliştiricinin kodu daha temiz ve okunabilir hale getirmesine yardımcı olur. Sahte ve casus yöntemleri, temel Laravel test durumu sınıfına eklenir. Bu yöntem, alay edilecek sınıfı kapsayıcı ile otomatik olarak bağlayacaktır.
genel işlev testiBasicTest()
{
$this->sahte(TransactionService::class, function($sahte){
$mock->shouldReceive('find')->once()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}
Daha Yüksek Düzen veyaNerede anlamlı yöntem:
Önceki sürümlerde, kapatma geri aramalarında kapsamlı sorguyu “veya” ile tanımlardık. Bir "yüksek dereceli" orWhere yönteminin kullanıma sunulmasıyla, bu kapsam sorgularını kapatma kullanmadan toplu olarak kolayca zincirleyebilirsiniz. Örneğin:
$users = App\User::emailVerified()->orWhere->active()->get();
dotenv 3.0:
Projenizin yeni .env dosyasını yönetmek için Laravel 5.8 yeni dotenv 3.0'ı destekleyecektir. Bu yeni dotenv 3.0, çok satırlı dizeleri ve dizelerin sonundaki boşlukları destekler. Bu özellik, güvenlik için çok satırlı API anahtarlarının gerekli olduğu durumlarda çok yardımcı olacaktır.
Yeni hata sayfası şablonları:
Çok çeşitli web siteleri ve uygulamalar için uygun olan çok minimalist tasarımlarla yeni hata sayfaları sunulmaktadır. Hata sayfalarını özelleştirmek veya önceden tasarlanmış hata sayfasını içe aktarmak bile mümkündür.
Uygulama geliştirme için birçok Laravel geliştirme şirketi bulunmaktadır. Bu yeni sürüm, bazı şaşırtıcı özelliklerin bir hazinesidir. Yukarıdaki içerik, yeni Laravel 5.8 sürümünde genişletilen bazı dikkate değer iyileştirmeleri ve özellikleri listelemektedir.
Bazı özellikler, daha işlevsel ve kullanıcı dostu hale getirmek için web sitelerine sorunsuz bir şekilde entegre edilebilir.
Çalışan uygulamanızı Laravel sürüm 5.8'e yükseltmek için resmi sitedeki yükseltme kılavuzuna ve sürüm notlarına göz atabilirsiniz.
