آموزش لاراول 7 – آموزش و بررسی امکانات جدیدترین نسخه لاراول

آموزش لاراول 7 – آموزش و بررسی امکانات جدیدترین نسخه لاراول

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

    معرفی و بروزرسانی ورژن ۶ به ۷

  • 2

    کار با component در blade

  • 3

    کار با http client

    رایگان

آموزش لاراول 7 – آموزش و بررسی امکانات جدیدترین نسخه لاراول

آموزش لاراول 7 - آموزش و بررسی امکانات جدیدترین نسخه لاراول

آموزش لاراول 7 – آموزش و بررسی امکانات جدیدترین نسخه لاراول

ویژگی های جدید لاراول 7 چیست؟

نسخه اصلی لاراول 7 در تاریخ 3 مارس 2020 منتشر شد و از جمله نسخه های اصلی است که طبق سیاست انتشار نسخه فریم ورک لاراول (ماه فوریه و آگوست) هر 6 ماه یکبار منتشر می شود. این یک نسخه پشتیبانی بلند مدت (LTS) نیست و با توجه به سیاست پشتیبانی نسخه لاراول، رفع باگ 6 ماهه تا سوم سپتامبر 2020 و رفع مسائل امنیتی یک ساله تا سوم مارچ 2020 ارائه شده است. حالا به معرفی ویژگی های جدید و بهبودهای لاراول 7 می پردازیم.پس از خرید آموزش لاراول 7 خواهید توانست تمامی ویژگی های لاراول 7 را یاد بگیرید ما دربخش توضیحات آموزش لاراول 7 فقط به معرفی ویژگی های جدید می پردازیم

ویژگی های جدید در لاراول 7

  • سیستم احراز هویت Laravel Airlock
  • Zttp برای سرویس گیرنده HTTP
  • کست سفارشی Eloquent
  • عملیات های رشته صریح (Fluent String)
  • Blade X
  • Stubهای قابل سفارشی سازی
  • کست های Query Time
  • Mail Driver متعدد
  • دستور جدید Artisan

بهبودهای ایجاد شده در لاراول 7

  • بهبود Model Binding Route
  • مسیریابی سریع تر 2x
  • بهبود صف دیتابیس
  • بهبود قالب Markdwon Mail
  • و انواع رفع باگ و بهبودهای دیگر

سیستم احراز هویت Laravel Airlock

Laravel Airlock یک پکیج رسمی برای احراز هویت رابط برنامه نویسی نرم افزار (API) است. این سیستم احراز هویت API توکن بیس ساده، رفع خطای توکن، قابلیت های توکن، احراز هویت برای نرم افزارهای گوشی همراه و دیگر نرم افزارها ارائه می دهد.

Zttp برای سرویس گیرنده HTTP

به کمک Zttp، این امکان فراهم خواهد بود تا به روش زیباتر و تمیزتری درخواست HTTP برای یک اندپوینت API داده شود.

درخواست پست


use IlluminateSupportFacadesHttp;

$response = Http::post($url);

$response = Http::post($url, [
    'site' => 'Laravel Article',
]);

درخواست متد Get


$response = Http::get($url);
$response = Http::get($url,['foo'=>'bar']);

با سربرگ


$response = Http::withHeaders(['foo' => 'bar'])->post($url, [
    'baz' => 'qux',
]);

جواب ها


$response['foo']
$response->body()
$response->json()
$response->status()
$response->ok()

پشتیبانی CORS

در این نسخه لاراول 7 از جنبه های مختلفی CORS(Cross-origin Resource Sharing) را پشتیبانی می کند. هر برنامه نویسی حین توسعه API با مشکل CORS رو به رو خواهد شد. حالا لاراول 7 به صورت خودکار به درخواست OPTION شما به کمک مقدار شکل گرفتتان پاسخ می دهد. همه چیز را به میان افزار HandleCors که لاراول 7 به شکل چندجانبه ارائه می دهد، بسپارید.

کست سفارشی Eloquent

کست کردن سفارشی Eloquent یکی دیگر از ویژگی های جالب لاراول 7 است. این ویژگی ها به شما امکان اضافه کردن کست سفارشی Won را می دهد. به JSON caster (نشانه گذاری شیء جاوا اسکریپت) توجه کنید.


use IlluminateContractsDatabaseEloquentCastsAttributes;

class Json implements CastsAttributes
{
    public function get($model, $key, $value, $attributes)
    {
        return json_decode($value, true);
    }

    public function set($model, $key, $value, $attributes)
    {
        return json_encode($value);
    }
}

حالا می توانیم کست سفارشی Eloquent را در مدل خود استفاده کنیم.


namespace App;

use AppCastsJson;
use IlluminateDatabaseEloquentModel;

class User extends Model
{
    
    protected $casts = [
        'extra' => Json::class,
    ];
}

عملیات های رشته صریح (Fluent String)

در لاراول 7 می توانید کارهای بیشتر و جالب تر شیء گرا را با کلاس IlluminateSupportStr انجام دهید.


$currentVersion = (string) Str::of('  Laravel 6.x ');
return $currentVersion->trim()
        ->replace('6.x', '7.x')
        ->slug();

// laravel-7x

کامپوننت Blade X

ویژگی های Blade X لاراول 7 به شما این امکان را می دهد تا کامپوننت Class-less ایجاد کنید.
ایجاد کامپوننت X


@php($user = $user ?? Auth::user())
@php($size = $size ?? 50)

img
    class="inline-block rounded-full"
    src="{{ $user->gravatarUrl($size) }}"
    width="{{ $size }}"
    height="{{ $size }}"

کاربرد کامپوننت Blade X


x-avatar/>
x-avatar size="40" />
x-avatar size="100" />

شخصی سازی فایل های Stub

حالا با استفاده از دستور Artisan می توانید Stubها را در لاراول 7 شخصی سازی کنید.


php artisan stub:publish

 

کست های Query Time

لاراول 7 روش withCasts را ارائه می دهد که می تواند در زمان اجرای کوئری مقدار را کست کند. به مثال زیر توجه کنید.


$users = User::select([
    'users.*',
    'last_posted_at' => Post::selectRaw('MAX(created_at)')->whereColumn('user_id', 'users.id')
])
->withCasts(['last_posted_at' => 'date'])
->get();

 

Mail Drivers   متعدد

لاراول 7 این امکان را به شما می دهد که چندین mail driver را با یک نرم افزار تنظیم کنید.


Mail::mailer('noreply')
        ->to($request->user())
        ->send(new PostUpdated($post));

دستور جدید Artisan

یک تست جدید دستور Artisan در لاراول 7 اضافه شده است. این دستور جدید طراحی تجربه کاربر (UX) زیبا و اطلاعات مفیدی درباره تست در اختیارتان قرار می دهد.


php artisan test

بهبودهای لاراول 7

  • بهبود Route Model Binding
  • مسیریابی سریع تر 2x
  • بهبود صف دیتابیس
  • بهبود قالب Markdown Mail
  • و انواع رفع باگ و بهبودهای دیگر

بهبود مسیریابی Model Binding

سفارشی سازی کلید اصلی

طبق پیش فرض، route model binding با فیلد id کار می کند. حالا می توانید آن را سفارشی سازی کنید.


Route::get('posts/{post:slug}', function (AppPost $post) {
    return $post;
});

Scope خودکار

لاراول 7 به صورت خودکار به بررسی کوئری می پردازد تا مدل اولیه را با استفاده از روابط قبلی برگرداند و رابطه مقدار را حدس بزند.


use AppPost;
use AppUser;

Route::get('api/users/{user}/posts/{post:slug}', function (User $user, Post $post) {
    return $post;
});

مسیریابی سریع تر 2x

لاراول 7 مسیریابی اجرای تطبیقی 2x سریع تری را با استفاده از route:cache نسبت به لاراول 6 ارائه می دهد.

بهبود صف دیتابیس

لاراول 7 به کسانی که از MySQL 8+ به عنوان صف دیتابیس خود استفاده می کنند، بهبودهایی را ارائه می دهد.

بهبود قالب Markdown Mail

قالب پیش فرض markdown برای Mail، با استفاده از پالت رنگ Tailwind CSS، ظاهر تازه تری پیدا کرده است. این قالب را می توانید به دلخواه خود تغییر دهید و منتشر کنید.

در این آموزش لاراول 7 ما به تمامی این موارد بصورت اختصاصی خواهیم پرداخت

2 کامنت

  • no avatar
    mardvagheii@gamil.com پاسخ سه شنبه , 12 فروردین 1399

    سلام، نمیدونم چرا نمیتونم دانلود کنم…

    • no avatar
      mehrab پاسخ پنجشنبه , 14 فروردین 1399

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