Fitur What’s New dan peningkatan di Laravel 7

0

Laravel 7 hadir dengan banyak fitur baru dan perbaikan sebelumnya.

Di bawah ini adalah daftar fitur baru yang akan Anda dapatkan di Laravel 7:

  • – Laravel Airlock
  • – Better routing speed
  • – Blade Component Tags & Improvements
  • – Fluent string operations
  • – Zttp for HTTP Client
  • – New artisan commands
  • – Multiple Mail driver
  • – CORS support

Laravel Airlock

Dengan fitur Airlock baru di Laravel 7 ini, Anda dapat menerapkan sistem otentikasi featherweight untuk aplikasi seluler, aplikasi halaman tunggal, dan aplikasi API berbasis token sederhana. Anda dapat membuat beberapa token API untuk akun pengguna dengan fitur Airlock ini.

Better routing speed

Dengan Laravel 7, Anda akan mendapatkan kecepatan 2x lebih cepat dari Laravel 6 menggunakan route yang di-cache. Anda juga dapat mengikat model Anda di route Anda karena ini adalah fitur terbaik lainnya dengan Laravel 7 yang didefinisikan sebagai pengikatan Model route. Secara default, ini berfungsi dengan bidang id tetapi kami dapat menyesuaikannya:

use App\Post;
Route::get('posts/{post:slug}', function (Post $post) { 
	return $post;
});

Blade Component Tags & Improvements

Laravel 7 memungkinkan kita untuk menentukan komponen kita sendiri dan menggunakannya dalam file blade kita. Tentukan komponen Alert di jalur App/View/Components berikut :

<?php

namespace App\View\Components;

use Illuminate\View\Component;

class Alert extends Component
{
    /**
     * The alert type.
     *
     * @var string
     */
    public $type;

    /**
     * Create the component instance.
     *
     * @param  string  $type
     * @return void
     */
    public function __construct($type)
    {
        $this->type = $type;
    }

    /**
     * Get the class for the given alert type.
     *
     * @return string
     */
    public function classForType()
    {
        return $this->type == 'success' ? 'alert-success' : 'alert-warning';
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('components.alert');
    }
}

Sekarang kita akan mendefinisikan template Blade komponen.

<!-- /resources/views/components/alert.blade.php -->

<div class="alert {{ $classForType }}" {{ $attributes }}>
    {{ $heading }}

    {{ $slot }}
</div>

Sekarang Anda dapat merendernya dalam tampilan Blade lain menggunakan tag komponen:

<x-alert type="error" class="mb-4">
    <x-slot name="heading">
        Alert content...
    </x-slot>

    Default slot content...
</x-alert>

Silakan berkonsultasi dengan full Blade component documentation untuk mempelajari tentang fitur ini.

Fluent string operations

Laravel 7 sekarang menyediakan barang yang lebih berorientasi objek dan pustaka manipulasi string yang lancar.

Sebelumnya llluminate\Support\str class tadinya ada tapi sekarang Anda bisa membuat fasih llluminate\Support\Striangable objek menggunakan Str::of method.

Beberapa metode dapat dirangkai untuk melakukan manipulasi string.

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

Zttp for HTTP Client

Terkadang, Anda perlu call 3rd party API titik akhir dalam aplikasi Anda sehingga dalam hal ini akan membantu Anda untuk meminta ke titik akhir API ..

Zttp is a Guzzle wrapper yang menyediakan sintaks yang jauh lebih sederhana dan lebih baik dengan metode REST:

use Illuminate\Support\Facades\Http;

$response = Http::post('url', [
    'name' => 'ExpertPHP',
]);

echo $response['foo'];

$response->body()
$response->json()
$response->status()
$response->ok()
$response->successful() (>= 200 && < 300)
$response->serverError()
$response->clientError()
Dengan Header dan Otentikasi
$response = Http::withHeaders(['X-API-KEY' => 'xxxxx'])->post('url', [
    'name' => 'ExpertPHP',
]);
Jika Anda ingin mengotentikasi API berbasis token maka:

$response = Http::withToken('token')->post('url', [
    'name' => 'ExpertPHP',
]);
Anda juga dapat menggunakan otentikasi dasar seperti:
$ response = Http :: withBasicAuth ('username', 'password') -> post ('url', [
    'name' => 'ExpertPHP',
]);
Anda dapat menangani kesalahan dengan cara berikut:

if (! $ response-> berhasil ()) {
    $ response-> throw ();
}

New Artisan Command

Laravel 7 telah menambahkan perintah artisan baru yaitu:

php artisan test	

Multiple Mail Drivers

Dengan Laravel 7, Anda sekarang dapat mengkonfigurasi beberapa driver Mail dalam satu aplikasi. Setiap mailer yang dikonfigurasi dalam file konfigurasi email mungkin memiliki pengangkutan uniknya sendiri dan opsinya sendiri untuk mengizinkan aplikasi menggunakan layanan email yang berbeda untuk mengirim email tertentu.

Secara default, Laravel akan menggunakan mailer default yang dikonfigurasi di file konfigurasi email Anda jika ada beberapa maka Anda dapat menggunakan metode mailer untuk mengirim pesan email.

Mail::mailer('postmark')
        ->to($request->user())
        ->send(new OrderShipped($order));

CORS Support

Laravel 7 sekarang mendukung CORS (Cross-Origin Resource Sharing) yang secara otomatis menanggapi permintaan OPTION Anda dengan nilai yang dikonfigurasi dan Anda dapat mengkonfigurasi semua pengaturan CORS di file konfigurasi CORS Anda tetapi permintaan OPTIONS akan secara otomatis ditangani oleh middleware HandleCors.

Untuk informasi lebih lanjut tentang dukungan CORS dengan Laravel 7, Anda dapat melalui Dokumentasinya

LEAVE A REPLY

Please enter your comment!
Please enter your name here