درحال بارگذاری

لاراول 6.4 هم منتشر شد! "انتشار رسمی ورژن 6.4 لاراول"

تاریخ: پنجشنبه, 02 آبان 1398

نویسنده: مصطفی دربان حسینی... بازیدها: 541 - نظرات : 0 دسته بندی: برنامه نویسی


بعد از انتشار نسخه 6.3 لاراول در یک بازه ی زمانی خیلی کم و در همین هفته نیز ورژن جدید این فریمورک محبوب منتشر شده و برای استفاده عموم در دسترس قرار گرفته است. شما می توانید همانند نسخه های قبلی و به سادگی این نسخه را نصب و استفاده کنید و با ویژگی های جدید آن آشنا شوید.

برای نصب این نسخه کافیست همانند نسخه های قبلی از طریق یکی از دو روش زیر استفاده کنید. (نصب مستقیم پروژه و یا نصب بسته اینستالر لاراول):

//دانلود اینستالر لاراول
composer global require laravel/installer

//ساخت پروژه جدید
laravel new blog

//نصب پروژه لاراولی با کامپوزر
composer create-project --prefer-dist laravel/laravel blog

برای اینکه بدانید در این نسخه شاهد چه تغییراتی هستیم با ما همراه باشید.

به عنوان اولین تغیر در این نسخه باید به شما اطلاع بدهیم که یک مشکل امنیتی در این نسخه مربوط به ریست پسورد برطرف شده است. البته این یک مشکل جدی نبوده است و مربوط به محدودیت زمانی در درخواست بازیابی رمز برای کاربران است ،به این شکل که کاربر در هر 60 ثانیه تنها یکبار می تواند درخواست بازیابی رمز عبور خود (ریست کردن رمز) را داشته باشد. این تغییر باعث می شود تا حملات به این بخش کم شود بعبارتی مانع از حمله مهاجمین به وسیله درخواست های زیاد برای بازیابی رمز عبور می شود. این حملات معمولا برای اختلال در سیستم ارسال ایمیل و یا رساندن اپ شما به محدودیت ارسال ایمیل آن می شود و باعث اختلال در سیستم ارسال ایمیل می شود.البته این حمله باعث بالا رفتن میزان مصرف سرور و به مشکل خوردن آن نیز می شود. این تغییر با توجه به درخواست های کاربران در این نسخه قرار گرفته است.

نکته ی بعدی افزوده شدن متدی به نام missing() به کلاس ریکوئست (Request) است که مقادیر برگشتی از متد has() را بررسی می کند. برای درک بهتر کار آن می توانید کد زیر را مشاهده کنید:

// Before
if (! $request->has('foo')) {
    //
}

// using missing
if ($request->missing('foo')) {
    //
}

ویژگی بعدی که در این نسخه شاهد آن هستیم افزوده شدن متد pipes() به عنوان یک دریافت کننده به کلاس Pipeline است که باعث ایجاد یک سیستم pipelines (معدل فارسی خط لوله می باشد) پویا تر می شود. این متد جایگزین استفاده مستقیم از خاصیت $pipes می باشد. برای درک بهتر این منظور قطعه کد زیر را مشاهده کنید:

class BackupAction extends Pipeline
{
    protected function pipes(): array
    {
        return config('actions.backup.tasks', [
            Tasks\SetupPassable::class,
            Tasks\CreateTemporaryDirectory::class,
            Tasks\PrepareFilesToBackup::class,
            Tasks\CreateZipBackupFile::class,
            Tasks\MoveZipArchiveToDisks::class,
            Tasks\SendNotification::class,
        ]);
    }
}

به عنوان آخرین ویژگی که می توان به آن اشاره کرد افزوده شدن یک متد به نام ssertCreated() می باشد که به سادگی این امکان را به شما می دهد که کد وضعیت 201 را برای درخواست (201 response) ارسال کنید. برای نمونه به کد زیر دقت کنید:

// Instead of the following
$response->assertStatus(Response::HTTP_CREATED);

// A convenient 201 assertion
$response->assertCreated();

البته لیست کامل ویژگی های جدید ،تغییرات و موارد رفع شده و نیز تفاوت های بین لاراول ورژن 6.3.0 و 6.4.0 را به همراه یادداشت های منتشر شده برای لاراول را در آدرس گیت هاب آن که در زیر برای شما قرار داده ایم مشاهده کنید:

آدرس مربوط به تغییرات نسخه 6 لاراول در گیت هاب

آدرس مقایسه لاراول 6.30 و 6.4.0

در زیر نیز تغییرات و ویژگی های اصلی در این نسخه را برای شما لیست کرده ایم:

v6.4.0

Added

  • Added missing() method to Request class (#30320)
  • Added Pipeline::pipes() method (#30346)
  • Added TestResponse::assertCreated() method (#30368)

Changed

  • Added connection is no longer usable to DetectsLostConnections (#30362)
  • Implemented parse ID on find method for many to many relation (#30359)
  • Improvements on subqueries (#30307, 3f3b621)
  • Pass mail data to theme css in Markdown::render() method (#30376)
  • Handle ajax requests in RequirePassword middleware (#30390, 331c354)

Fixed

  • Fixed retry() with $times value less then 1 (#30356)
  • Fixed last_modified option in SetCacheHeader (#30335)
  • Fixed the Filesystem manager’s exception on unsupported driver (#30331, #30369)
  • Fixed shouldQueue() check for bound event listeners (#30378)
  • Used exit code 1 when migration table not found (#30321)
  • Alleviate breaking change introduced by password confirm feature (#30389)

Security:

  • Password Reset Security fix (23041e9, a934160)

نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.


نویسنده: مصطفی دربان حسینی... بازیدها: 541 - نظرات : 0 دسته بندی: برنامه نویسی

جستجو
کلاس برتر
ارائه دهنده بهترین و به روز ترین ویدیو های و مقالات آموزشی و همچنین مقالات مختلف در رابطه با تکنولوژی ،معماری ،مدیریت و سایر رشته های کاربردی.ما برای شما بهترین ها را میخواهیم.

سایر خدمات مجموعهخدمات زیر تحت مدیریت برد تخصصی ارائه می شود.
طراحی وب سایت
راه اندازی و پشتیبانی شبکه
هوشمند سازی منازل
افزایش کارایی نیرو انسانی
تعمیرات دستگاه های الکترونیکی
طراحی داخلی
تبلیغات فضای مجازی
برنامه نویسی