Laravel ekibi bu hafta v11.26 sürümünü yayınladı. Bu sürümde, Hız Sınırlaması tanımlarken Enum'ları kullanma, Job Middleware oluşturmak için bir Artisan komutu kullanma ve daha fazlası gibi bir dizi işlemi zarif bir şekilde durdurma yeteneği yer alıyor.
Use BackedEnum to With Rate Limiters
Seth Phat, bir oran sınırlayıcıyı kaydetmek için BackedEnum ve UnitEnum'u kullanarak katkıda bulundu:
use Illuminate\Support\Facades\RateLimiter;
RateLimiter::for(
GlobalRateLimit::HUBSPOT,
fn () => Limit::perSecond(100, 10)
);
Bunları RateLimited
kuyruk işi ara yazılımıyla da kullanabilirsiniz:
use Illuminate\Queue\Middleware\RateLimited;
public function middleware(): array
{
return [
new RateLimited(GlobalRateLimit::HUBSPOT)
];
}
make:job-middleware
Artisan Komutu'nu ekleyin
Davey Shafik, App\Jobs\Middleware
ad alanında yeni bir iş ara yazılımı oluşturmak için make:job-middleware
Artisan komutuna katkıda bulundu:
php artisan make:job-middleware RateLimited
İşlem ve Havuza bir stop() Yöntemi Ekleyin
Mathias Hansen, bir havuzda çalışan tüm işlemleri düzgün bir şekilde durdurmak için bir güncelleme katkıda bulundu:
//
// Single process example
//
$process = Process::timeout(120)->start('bash import.sh');
// ...
$process->stop();
//
// Pool example
//
$this->pool = Process::pool(function (Pool $pool) {
$pool->path(base_path())->command('sleep 5');
$pool->path(base_path())->command('sleep 10');
})->start();
// Stop the processes gracefully
$this->pool->stop();
// Stop the processes with a specific signal
$this->pool->stop($signal);
make:model
ile Fabrika Genel Açıklaması Ekleme
Punyapal Shah, HasFactory
özelliği için genel bir açıklama içerecek make:model
komutuna bir güncelleme katkıda bulundu. Bu, IDE'lerin belirli bir Model::factory()
çağrısı için döndürülen fabrika türünü anlamasına yardımcı olacaktır.
Laravel 11.26'dan önce, taslak aşağıdakileri üretiyordu:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
}
Laravel 11.26'nın yayınlanmasıyla birlikte:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
/** @use HasFactory<\Database\Factories\PostFactory> */
use HasFactory;
}
Sürüm notları
Aşağıda yeni özelliklerin ve güncellemelerin tam listesini ve GitHub'daki 11.25.0 ile 11.26.0 arasındaki farkı görebilirsiniz. Aşağıdaki sürüm notları doğrudan değişiklik günlüğünden alınmıştır:
v11.26.0
[11.x] https://github.com/laravel/framework/pull/52960 adresinde @LucaRed tarafından PHPDoc yazım hatasını düzeltin
@MiniCodeMonkey tarafından https://github.com/laravel/framework/pull/52959 adresindeki Process ve Pool'a stop() metodunun eklenmesi
[11.x] https://github.com/laravel/framework/pull/52949 adresinde @staudenmeir tarafından PHPDoc'u geliştirin
[11.x] @maximetassy tarafından https://github.com/laravel/framework/pull/52943 adresindeki mocked modellerde PreventsCircularRecursion::withoutRecursion() yönteminin çökmesi düzeltildi
[11.x] https://github.com/laravel/framework/pull/52937 adresinde @devfrey tarafından Enumerable::implode()
için çağrılabilir türleri belgeleyin
[11.x] @sethsandaru tarafından https://github.com/laravel/framework/pull/52935 adresinde adlandırılmış RateLimiter
ve RateLimited
ara yazılımını kaydetmek için Allows Unit & Backed Enumsa izin verir
[11.x] https://github.com/laravel/framework/pull/52933 adresinde @crynobone tarafından yapılan Test İyileştirmeleri
[11.x] @chuoke tarafından https://github.com/laravel/framework/pull/52889 adresinde Swoole'da çalışmayan güven proxy REMOTE_ADDR
düzeltildi
[11.x] Laravel Envoy üzerinden [@include](https://github.com/include)('vendor/autoload.php')
kullanıldığında oluşan fonksiyon yükleme çakışmalarını @s-damian tarafından https://github.com/laravel/framework/pull/52974 adresinde düzeltir
[11.x] https://github.com/laravel/framework/pull/52993 adresinde @crynobone tarafından Laravel Prompts 0.3+ desteği
@Apfelfrisch tarafından https://github.com/laravel/framework/pull/52962 adresinde model::guarded kullanıldığında mutatörlerle toplu atamaya izin verildi
[11.x] https://github.com/laravel/framework/pull/52965 adresinde @dshafik tarafından make:job-middleware
artisan komutunu ekleyin
[11.x] Klasör adı kebab-case'de olduğunda uygulama ad alanının dışındaki Olayları otomatik olarak keşfetme @xizprodev tarafından https://github.com/laravel/framework/pull/52976 adresinde
[11.x] Feat: @MrPunyapal tarafından https://github.com/laravel/framework/pull/52855 adresindeki make:model komutunda genel fabrika
Kaynaklar:
https://laravel-news.com/laravel-11-26-0