یادگیری و آموزش لاراول 8 – بررسی و آشنایی کامل

یادگیری و آموزش لاراول 8 – بررسی و آشنایی کامل

591 بازدید
ذخیره
اشتراک گزاری
0
  • سرفصل
  • توضیحات آموزش
  • دیدگاه ها
  • 1

    معرفی دوره

  • 2

    آپدیت لاراول 7 به لاراول 8

    رایگان
  • 3

    Laravel Jetstream ( لاراول جت استریم )

    رایگان
  • 4

    Laravel Jetstream ( کار با livewire )

    رایگان
  • 5

    Laravel Jetstream ( کار با inertia )

    رایگان
  • 6

    New Model Directory ( مسیر جدید مدل ها )

    رایگان
  • 7

    Laravel Factory ( لاراول فکتوری)

    رایگان
  • 8

    Schema Dump

    رایگان
  • 9

    Rate Limiting – Improved ( محدود کردن دفعات دسترسی به مسیر ها )

    رایگان
  • 10

    Maintenance Mode – Improved ( ارتقا و بهبود حالت تعمیر و نگهداری )

    رایگان
  • 11

    حذف namespace کنترلر ها

    رایگان
  • 12

    جمع بندی

    رایگان

یادگیری و آموزش لاراول 8 - بررسی و آشنایی کامل | تولک

آموزش لاراول 8 – خب طبق استراتژی جدید انتشار نسخه های جدید لاراول , لاراول 8 ( laravel 8 ) در تاریخ 8 دسامبر سال 2020 منتشر شد. طبق این استراژی هر شش ماه یکبار یک آپدیت جدید از لاراول خواهیم داشت. رفع اشکال تا 8 مارس 2021 و رفع مشکلات امنیتی 1 ساله تا 8 سپتامبر 2021 را ارائه می دهد. لاراول 8 ویژگی های جدید و جذاب زیادی در این نسخه اضافه کرده که به بررسی آن خواهیم پرداخت. برای یادگیری نسخه های دیگر لاراول می توانید به آموزش لاراول مراجعه کنید. با ما باشید با آموزش لاراول 8 ….

لاراول 8 در یک نگاه :

  • نسخه : لاراول 8 (Non-LTS)
  • رفع اشکالات : تا 8 مارس 2021
  • رفع مشکلات امنیتی : تا 8 سپتامبر 2021
  • تاریخ انتشار : 8 سپتامبر 2020

جدید در لاراول 8

لاراول 8 ویژگی های جدیدی نظیر Job Batching , Laravel Jetstream , Schema Dump , New model Directory را اضافه کرده است و ویژگی های قبلی مانند route caching , maintenance mode , rate limiting را بهبود بخشیده است. بیایید نگاهی به موارد جدید و پیشرفت های لاراول 8 بیندازیم.

Job Batching ( دسته بندی کارها )

Job batching حالا راحت تر شده با Bus::batch() .که یکی از جذاب ترین ویژگی های لاراول 8 است.همه کارهای خودتان را به Bus::batch() منتقل کنید و منتظر پاسخ باشید. به عناون مثال :

Bus::batch([
    new Job1(),
    new Job2()
])->then(function (Batch $batch) {
    if ($batch->hasFailures()) {
        // die
    }
})->success(function (Batch $batch){
	//invoked when all job completed

})->catch(function (Batch $batch,$e){
	//invoked when first job failure

})->allowFailures()->dispatch();

پاسخ تعداد کارهای ارسال شده به job را خواهد گفت.مثال پاسخ ارسال شده:

 

پیدا کردن جزئیات batch job می توانید در Bus::findBatch($batchId) پیدا کنید.

New Model Directory ( مسیر جدید مدل ها )

در لاراول 8 ,همه مدل در مسیر اصلی پروژه بود که بسیار ساختار پوشه اصلی را بهم ریخته میکرد. در این آپدیت همه مدل ها به پوشه model انتقال پیدا کرده است.که بسیار مدیریت فایل های پروژه را راحت تر کرده است.

Laravel Jetstream ( لاراول جت استریم )

لاراول جت استریم یک اکوسیستم جدید برای لاراول است که به شما یک ساختار زیبا برای پروژه لاراولی میدهد و بصورت اوپن سورس و کاملا رایگان ارائه شده است.این ویژگی دارای ویژگی های داخلی مانند user profile management , Two-factor Authentication , API tokens , Team management , Multi-Session Management و بسیاری از ویژگی های جذاب دیگر است.

جت استریم با Tailwind CSS طراحی شده است و می توانید ساختار را با استفاده از Livewire و Inertia انتخاب کنید.

Laravel Factory ( لاراول فکتوری)

لاراول 8 یک راه بهبود یافته تر و راحت تر برای اطاعات seed model فراهم کرده است.بیایید حالا ببینیم چقد باحال شده این بخش


Route::get('test-factory',function(){
   return User::factory()->create();
});

Route::get('test-factory',function(){
   return User::factory()->times(10)->create();
});

Schema Dump

یک خط فرمان جدید اضافه شده برای schema dump ( php artisan schema:dump ) , این خط فرمان به توسعه دهندگانی کمک میکند که مسیرهای migrations عظیم پر از فایل دارند که دیگر نیازی به آنها ندارند. این خط فرمان سریع تر ( لود یک single schema file ) است. می تواند صدها migrations فایل را اجرا کند. شما احتیاج دارد به فایلی از database/schema/{connection}-schema.mysql

Rate Limiting – Improved ( محدود کردن دفعات دسترسی به مسیر ها )

در لاراول 8, شما می توانید محدودیت های جدید به مسیرهای کاربران اعمال کنید. برای مثال :

تعریف یک Rate Limit :


RateLimiter::for('upload', function (Request $request) {
	Limit::perMinute(10)->by($request->ip()),
});

RateLimiter::for('download', function (Request $request) {
	if ($request->user()->isSubscribed()) {
    	return Limit::none();
	}
	Limit::perMinute(10)->by($request->ip()),
});

استفاده یک rate limiter به عنوان یک middleware معمولی :


Route::get('/upload','UploadController@index')->->middleware('throttle:upload');
Route::get('/download','DownloadController@index')->->middleware('throttle:download');

// or use it no group
Route::middleware(['throttle:upload'])->group(function () {
	
});

Maintenance Mode – Improved ( ارتقا و بهبود حالت تعمیر و نگهداری )

تا قبل از لاراول 8, ما برای تعمیر موقت سایتمان از php artisan down استفاده میکردیم, در روش قبلی باید کل فریم ورک راه اندازی مجدد میشد تا بدین ترتیب صفحه تعمیر را اجرا کنید. در laravel 8 این عمل با کارایی بهتری انجام می پذیرد.

php artisan down –secret=myByPassSecret

وقتی شما با استفاده از secret bypass سایتتان را از کار می اندازید یا down میکنید.

http://example.com/myByPassSecret

می توانید موارد بیشتری را در گزینه های حالت تعمیر و نگهداری تنظیم کنید.


php artisan down --redirect=/ --status=200 --secret=myByPassSecret --render="errors::503"

توضیح :
برنامه را آفلاین قرار دهید
تغییر مسیر همه مسیرها به “/”
کد وضعیت را تنظیم کنید
secret to bypass در حالت تعمیر ست کنید
یک فایل مشاهده برای زمان خرابی ارائه دهید

Time Traveller ( تغییر زمان در تست های لاراول 8 )

حالا در laravel 8 می توانید تست های زمان خود را تغییر دهید .با کمک laravel time traveller helper اکنون می توانید راحت تر زمان را دستکاری کنید.به مثال زیر توجه کنید

 


//goto to future
$this->travel(10)->seconds();
$this->travel(10)->minutes();

//back to past
$this->travel(-8)->seconds();
$this->travel(-8)->minutes();

Dynamic Blade Component (Blade کامپوننت داینامیک)

در ورژن 8 لاراول شما می توانید blade کامپوننت داینامیک داشته باشید. بدین ترتیب شما می توانید انتخاب کنید که کدام کامپوننت در برنامه در حال اجرا رندر شود.

<x-dynamic-component :component=”$componentName” />

Default pagination ( صفحه بندی پیش فرض )

صفحه بندی لاراول 8 بصورت پیش فرض از Tailwind CSS استفاده میکند.

Route Caching – Improved ( ارتقا کش کردن روت ها )

از لاراول 8 ، می توانید مسیرهای خود را cache کنید حتی در تعریف مسیر از closure می توانید استفاده کنید.


Route::get('/about',function(){
  return view('about');
});

php artisan serve – improved ( بهبود و ارتقا خط فرمان اجرا لاراول )

قبل از لاراول 8 , هر بار که ما تغییری در فایل .env ایجاد میکردیم مجبور به ریستارت کردن پروژه لاراولی خود با استفاده از کامند لاین php artisan serve بودیم. در ورژن هشتم لاراول دیگر نیاز به راه اندازی مجدد php با استفاده از کامند لاین php artisan serve ,وقتیکه این فایل را ویرایش میکنیم نداریم.

 

در اینجا من تمام ویژگی های مهم نسخه جدید را بررسی و در مورد آن بحث کرده ام. بهبود لاراول 8 بستگی به کنفرانس Laracon Online 2020 دارد. در هنگام انتشار رسمی لاراول 8 در 8 سپتامبر 2020 , رفع موراد امنیتی این نسخه و رفع اشکالات جزئی بیشتری انجام خواهد شد

اگر مایلید همین الان آموزش لاراول 8 را در ببینید در سایت عضو شوید. این آموزش برای اعضای سایت رایگان است

در این آموزش مدرس تولک تمامی جدیدترین آپدیت لاراول را بررسی میکند و شما می توانید دانش خودتان از این فریم ورک php را بروز نگه دارید.مشتاق نظرات و پیشنهادات شما در دیدگاه ها خواهیم بود.همچنین این آموزش بصورت کاملا رایگان در اختیار تمامی اعضای سایت قرار خواهد گرفت

6 کامنت

  • no avatar
    alirezaghaffari پاسخ پنجشنبه , 3 مهر 1399

    سلام وقت بخیر و ممنون از آموزش //
    ببخشید پارت 9 رو نمی تونم دانلود کنم//

    • no avatar
      toolek پاسخ پنجشنبه , 3 مهر 1399

      بدون فیلتر شکن بررسی کنید نباید مشکلی باشه

      • no avatar
        alirezaghaffari پاسخ جمعه , 4 مهر 1399

        بدون فیلتر شکن هستم//
        تمام پارت ها دانلود میشه الا شماره 9!
        و وقتی برای دانلود کلیک می کنم کروم تنها یک فایل با نام files چند کیلو بایتی رو دانلود می کنه! فقط 9 اینطور
        Rate Limiting – Improved ( محدود کردن دفعات دسترسی به مسیر ها )

        • no avatar
          toolek پاسخ جمعه , 4 مهر 1399

          با سلام بررسی شد
          مشکلی وجود نداره
          کش رو پاک کنید و دوباره لاگین و دانلود کنید

  • no avatar
    milad پاسخ شنبه , 22 شهریور 1399

    با سلام درود
    ممنون مهندس برای شروع این دوره بی صبرانه منتظر تکمیل این دوره هستیم