برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.
سلاممممم چطورییییی؟ میدونستی چند روز پیش لاراول ورژن 11.26 منتشر کرد و ما در این پست قراره کامل تغییراتش رو باهم بررسی کنیم؟ (پس بدون😁)
پشتیبانی Rate Limiters ها از Enum ها
در ورژن جدید لاراول Rate Limiter ها از enum ها پشتیبانی میکننند، برای مثال:
RateLimiter::for(
GlobalRateLimit::HUBSPOT,
fn () => Limit::perSecond(100, 10)
);
همینطور میتونید از Enum ها در Queue Job Middleware ها هم استفاده کنید:
use IlluminateQueueMiddlewareRateLimited;
public function middleware(): array
{
return [
new RateLimited(GlobalRateLimit::HUBSPOT)
];
}
برای دیدن این Pull Request کلیک کنید.
اضافه شدن کامند "make:job-middleware"
یک کامند جدید به لاراول اضافه شده به نام make:job-middleware
که برای شما یک میدلور جاب میسازه در پوشه "AppJobsMiddleware":
php artisan make:job-middleware RateLimited
برای دیدن این Pull Request کلیک کنید.
اضافه شدن متد "()stop" به Process
در لاراول یک متد جدید به نام "()stop" به process ها اضافه کرده که وظیفه اش این هست که تمامی پروسس هایی که در حال اجرا هستند متوقف کند:
// 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);
برای دیدن این Pull Request کلیک کنید.
اضافه شدن Generic ها به فکتوری های مدل
زمانی که شما یک مدل میسازید به شکل زیر هست:
class Parantes extends Model
{
use HasFactory;
}
اما الان شما زمانی که یک مدل بسازید برای اینکه IDE پشتیبانی بهتری داشته باشه و شناسایی دقیق تری داشته باشه یک Generic هم بهش اضافه شده:
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class Parnates extends Model
{
/** @use HasFactory<DatabaseFactoriesParantesFactory> */
use HasFactory;
}
برای دیدن این Pull Request کلیک کنید.
تغییرات جزئی
- فیکس کردن typo کامنت - #52960
- تقویت phpdoc های دیتابیس - #52949
- فیکس کردن متد phpdoc متد "()implode" در enum ها - #52937
- تقویت تست ها - #52933
- فیکس کردن REMOTE_ADDR برای استفاده از (Swoole) اسول - #52889
- فیکس کردن هلپر ها برای استفاده Laravel Envoy پ - #52974
- پشتیبانی از Laravel Prompts ورژن 0.3 - #52993
- فیکس کردن لود های ایونت خارج از پوشه اصلی - #52976
- استفاده از mass assignment برای mutator های مدل - #52962
اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁