تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

    تغییرات Laravel 8

    تغییرات laravel 8

    با انتشار Laravel 8 بسیاری از ویژگی‌ها از جمله:

    1. jetstream
    2. models directory
    3. model factory classes
    4. migration squashing
    5. rate-limiting improvements
    6. time testing helpers
    7. dynamic blade components
    8. و …

    به این فریم‌ورک اضاف شده‌اند و شما می‌توانید از آن‌ها در برنامه‌های Laravel خود استفاده کنید. درحال حاضر تیم توسعه Laravel هر ۶ ماه یک نسخه جدید را منتشر می‌کند و شما می‌توانید روند انتشار نسخه‌های جدید این فریم‌ورک را در این لینک مشاهده کنید.

    Laravel Jetstream

    با استفاده از Laravel Jetstream در Laravel UI scaffolding موجود در نسخه‌های قبل بهبودهایی به‌وجود خواهد آمد. این یک نقطه شروع برای پروژه‌های جدید از جمله login، registration، email verification، two-factor authentication، session management، API پشتیبانی Laravel و team management.

    Models Directory

    در نسخه جدید، ما شاهد مسیر app/Models در اسکلت برنامه Laravel خود خواهیم بود و به این صورت تمام دستور‌های generator فرض می‌کنند که modelها در مسیر app/Models وجود دارند. البته اگر این دایرکتوری وجود نداشته باشد، فریم‌ورک فرض را بر این می‌گذارد که modelهای موجود در برنامه درون پوشه app/ نگهداری می‌شوند.

    Model Factory Classes

    Eloquent model factoryها در نسخه Laravel 8 با پشتیبانی بهبود یافته از روابط بین factoryها مبتنی بر class هستند. کدهای زیر، سینتکس جدید و بهبود یافته factoryها است که برای تولید رکورد‌های جدید می‌توانید از آنها استفاده کنید:

    use App\Models\User;
    
    User::factory()->count(50)->create();
    
    // using a model state "suspended" defined within the factory class
    User::factory()->count(5)->suspended()->create();

    Migration Squashing

    اگر برنامه‌ شما حاوی فایل‌های migration زیادی باشد، می‌توانید با استفاده از Squash آنها را به یک فایل SQL تبدیل می‌کند. این فایل ابتدا هنگام اجرای migrationها اجرا می‌شود و به دنبال آن فایل‌های دیگری که migration آنها انجام نشده و بخشی از فایل squashed schema نیستند، اجرا می‌شوند. شما با Squash کردن migrationهای موجود می‌توانید فایل‌های migration را کاهش دهید و بدین صورت عملکرد برنامه در هنگام اجرای تست‌ها افزایش می‌یابد.

    بهبود Rate Limiting

    Laravel 8 ضمن پشتیبانی از سازگاری با نسخه‌های قبلی throttle middleware و ارائه انعطاف‌پذیری بیشتر، باعث بهبود عملکرد Rate Limiting شده است و شما با استفاده از کدهای زیر می‌توانید Rate Limiterها را در Laravel 8 تعریف کنید.

    use Illuminate\Cache\RateLimiting\Limit;
    use Illuminate\Support\Facades\RateLimiter;
    
    RateLimiter::for('global', function (Request $request) {
        return Limit::perMinute(1000);
    });

    همان‌طور که مشاهده می‌کنید با استفاده از متد for() می‌توانید کنترل درخواست‌های HTTP را به صورت پویا در اختیار خودتان بگیرید.

    Time Testing Helpers

    کاربران Laravel با استفاده از کتابخانه Carbon PHP، از کنترل کامل تغییر زمان برخوردار بوده‌اند. اما Laravel با ارائه test helperها که می‌توانید توسط آن زمان برنامه آزمایشی خود را تغییر دهید، یک قدم به آینده نزدیک‌تر شده است:

    // Travel into the future...
    $this->travel(5)->milliseconds();
    $this->travel(5)->seconds();
    $this->travel(5)->minutes();
    $this->travel(5)->hours();
    $this->travel(5)->days();
    $this->travel(5)->weeks();
    $this->travel(5)->years();
    
    // Travel into the past...
    $this->travel(-5)->hours();
    
    // Travel to an exact time...
    $this->travelTo(now()->subHours(6));
    
    // Return back to the present time...
    $this->travelBack();

    هنگام استفاده از این متد، زمان بین هر تست مجددا تنظیم می‌شود.

    Dynamic Blade Components

    گاهی اوقات لازم است شما یک کامپوننت Blade را در runtime به صورت پویا رندر کنید. حال با Laravel 8 می‌توانید برای ارائه کامپوننت‌های پویا از <x-dynamic-component/> استفاده کنید.

    <x-dynamic-component :component="$componentName" class="mt-4" />

    کسب اطلاعات بیشتر از Laravel 8

    اینها برخی از ویژگی‌‌های برجسته و جدید در Laravel 8 بودند و برای دیدن لیست کامل تغییرات می‌توانید به Laravel 8 release notes و upgrade guide مراجعه کنید. البته اگر به دنبال راهی آسان برای به‌روزرسانی برنامه‌تان هستید، Laravel Shift را فراموش نکنید.

    مانند همه نسخه‌های منتشر شده، شرکت در توسعه Laravel برای همه‌گان ممکن است و از تمام کسانی که تا به حال در توسعه و استفاده از فریم‌ورک Laravel کمک کرده‌اند، تشکر می‌کنیم.

    منبع: https://laravel-news.com/laravel8

    برچسب‌ها:

    ســــــــــــــــــــــال‌هاست که هستیم

    ۶ سال در کنار شما تجربه جمع کردیم. تازه در ابتدای مسیر هستیم، مسیر ساخت آینده.

    جمع‌مـــــــــــان، جمع است

    بیش از ۴۰ هزار توسعه‌دهنده و صاحبان کسب و کار در جمع ما هستند. جای شما خالی‌ست...

    خدمات رایگان لیارا

    ۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

    ۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

    هاست رایگان برای دیتابیس‌

    دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

    سرویس DNS رایگان

    به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

    ۱۰۰ هزار تومان اعتبار اولیه

    بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

    ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

    در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید. (به‌همراه دسترسی SMTP)

    هاست رایگان برای انواع وبسایت

    تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

    همراه شما هستیم

    در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
    تلفن واحد فروش:
    ۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
    تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)