در این پست درباره قابلیت ها و امکانات جدید در لاراول 5.7 صحبت می کنیم. در لاراول 5.7 چند قابلیت جدید به همراه یک سری بهبودها و رفع باگ ها اضافه شده است.
در کنفرانس Laracon قبلی، Taylor Otwell برخی از تغییرات بوجود آمده در این نسخه لاراول را به شرح زیر اعلام کرد:
دستورات زیر را در محیط ترمینال برای نصب لاراول 5.7 تایپ کنید.
composer create-project laravel/laravel test dev-develop
اگر پروژه را در یک نرم افزار ویرایشگر کد، باز کنید می بینید که ساختار دایرکتوری ها تغییر کرده است.در این نسخه تمام دایرکتوری های موجود در فولدر asset به دایرکتوری resource منتقل شده است.
برای بروزرسانی از لاراول 5.6 به 5.7 باید ابتدا پیکربندی Laravel Mix را بروزرسانی کنید.
let mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css');
سپس باید دایرکتوری را با استفاده از دستور زیر به مسیر جدید انتقال دهید:
mv resources/assets/* resources rm -Rf resources/assets/
در لاراول 5.7 از یک سینتکس جدید برای Action Url ها استفاده شده است.
به این ویژگی نشانه گذاری چند تایی (tuple notation) و یا سینتکس آرایه فراخوانی برای اکشن های تولید کننده url گفته می شود.
در زیر چگونگی کارکرد آن در لاراول 5.7 را آورده ایم.
<?php $url = action([UserController::class, 'index']);
در لاراول 5.6، action helperها تنها ار سبک زیر استفاده می کردند، که احتمالا با آن آشنا هستید.
<?php $url = action('UserController@profile', ['id' => 1]);
یکی از مزیت های سینتکس آرایه فراخوانی این است که اگر شما از ویرایشگرهای متنی مثل vscode ،Sublime ،Atom و یا از IDE هایی مانند PHPStorm که از قابلیت پیمایش کد پشتیبانی می کنند، استفاده کنید می توانید بطور مستقیم داخل فایل های کنترلر پیمایش کنید.
Dump Server لاراول در نسخه 5.7 لاراول ارائه شده است. Dump Server به شکل یک پکیج در حال توسعه در فایل کامپوزر laravel/laravel استفاده خواهد شد.
دستور زیر به شما اجازه می دهد که داده ها را در کنسول یا یک فایل html به جای مرورگر Dump کنید.
php artisan dump-server
لاراول 5.7 قابلیتی را ارائه کرده که به راحتی می توانید پیام های خطایی که توسط فراخوانی های دینامیک در مدل های Eloquent انجام شده را رهگیری کنید.
با این قابلیت یک تصویر واضع از محل وقوع خطا در برنامه را دریافت می کنید.
لاراول 5.7 یک سرویس تایید ایمیل اختیاری برای سیستم احراز هویت (Authentication) این فریم ورک معرفی کرد. برای انجام این کار یک ستون از نوع timestamp و به نام email_verified_at به جدول users پیش فرض اضافه می شود.
برای اجبار کاربران تازه ثبت نام کرده به تایید ایمیل شان، باید مدل user را توسط اینترفیس MustVerifyEmail علامت گذاری کنید.
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements MustVerifyEmail { // ... }
در نسخه های قبلی لاراول درگاه های (Gates) احراز هویت برای بازدیدکنندگانی که احراز هویت نشده بودند به طور خودکار مقدار false را بر می گرداند.
همچنین برای جلوگیری از احراز هویت یک کاربر مهمان می توانید عبارت optional یا null را قرار دهید.
Gate::define('update-post', function (?User $user, Post $post) { // ... });
این ویژگی به کنترل تعداد لینکهای اضافه که در هر سمت پنجره url مربوط به paginator نمایش داده میشوند، کمک میکند
{{ $paginator->onEachSide(5)->links() }}
فایل سیستم لاراول از دو متد به نام های readStream و writeStream پشتیبانی می کند.
Storage::disk('s3')->writeStream( 'remote-file.zip', Storage::disk('local')->readStream('local-file.zip') );
Laravel Nova یکی از ویژگی ها یا امکانات خود لاراول نیست.این یک پکیج متفاوت است که توسط Taylor otwell ایجاد شده است. Laravel Nova یک داشبورد مدیریتی برای برنامه های لاراول است.
ویژگی اصلی Nova توانایی اداره رکوردهای دیتابیس با استفاده از Eloquent می باشد.
به علاوه Nova پشتیبانی از فیلترها، لنزها، اکشن ها، اکشن های صف، متریک، احراز هویت، ابزارهای سفارشی، فیلدهای سفارشی و ... را ارائه می دهند.
برای اطلاعات بیشتر درباره Laravel Nova به این سایت مراجعه کنید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.