Panduan Bagaimana Menjadi Lancar Di Laravel - CRUDPRO

Panduan Bagaimana Menjadi Lancar Di Laravel

Panduan Bagaimana Menjadi Lancar Di Laravel

Kefasihan dalam Laravel bisa ambil beberapa wujud. Satu diantaranya ialah memakai class Fluent yang terselinap dalam frame-work Laravel.

Kelas Fluent ialah kelas utilitas yang disiapkan oleh frame-work Laravel yang memungkinkannya Anda membuat dan merekayasa object secara lancar. Ini memiliki arti Anda bisa menjadikan satu panggilan sistem dan penentuan property secara lebih gesturf dan gampang dibaca tak perlu menyarangkan rantai panjang panggilan sistem atau memakai larik kompleks.

Kelas Fluent berguna saat Anda membuat object dengan beberapa property, memungkinkannya Anda menyetel dan merekayasa property ini lebih singkat dan gesturf. Ini bermanfaat saat terhubung property object memakai notasi titik dibanding notasi array.

Keseluruhannya, kelas Fluent ialah alat penting untuk bekerja dengan object di Laravel dan dipakai secara luas di semua rangka kerja untuk menyiapkan langkah yang lebih gampang dibaca untuk bekerja dengan data.

Artikel ini akan mengeksploitasi bagaimana Anda dapat memakai kelas Fluent untuk membikin dan merekayasa object di Laravel.

Apa yang keliru dengan Array Asosiatif

Membuat Object Pintar

  • Langkah membuat object Fluent memakai sistem make
  • Langkah membuat object Fluent memakai Array yang telah ada
  • Langkah membuat object Fluent memakai Object yang telah ada
  • Langkah memakai sistem with untuk menambah property tambahan ke object Fluent
  • Langkah membuat object Lancar memakai API lancar

Merekayasa Object Pintar

  • Langkah terhubung property object Fluent memakai notasi titik
  • Langkah atur property object Fluent

Ringkasan

  • Rekap arah dan pemakaian kelas Fluent di PHP Laravel

Apa yang keliru dengan Array Asosiatif?

Associative Arrays ialah susunan data yang bermanfaat untuk simpan key-value pair dan umum dipakai dalam program PHP.

Silahkan kita mengambil contoh pemakaian array Asosiatif untuk simpan catatan Produk.

Anda terhubung property apa saja memakai sintaks berikut ini:

$product = [
 'id' => 1,
 'name' => 'Nike Air Force 1',
 'price' => 50000, // cents
];

echo $product['name'];

Baris ini cetak nama produk.

Saat ini silahkan kita coba terhubung property yang tidak berada di larik ini:

echo $product['sku'];

Properti `sku` tidak ada di array, PHP, dalam kasus ini, melontarkan `ErrorException` dengan pesan ini:

Undefined array key 'sku'

Silahkan kita mengambil contoh lain. Simpulkan kita mendeskripsikan Produk sebagai turunan dari s`stdClass` dibanding array Asosiatif.

$product = (object) [
 'id' => 1,
 'name' => 'Nike Air Force 1',
 'price' => 50000, // cents
];

Saat ini, silahkan kita coba terhubung nama Produk:

echo $product['name'];

Anda coba mengakses property pada instance stdClass memakai notasi array. PHP, dalam masalah ini, melemparkan pengecualian kekeliruan dengan pesan ini:

Cannot use object of type stdClass as array

Bekerja dengan Array Asosiatif atau menambahkan Object dengan Array kadang beresiko dan tidak efektif.

Tidakkah lebih bagus mempunyai satu API umum untuk terhubung Array dan Object secara sama tanpa mencemaskan pengecualian atau pemakaian sintaks yang tidak benar?

Nah, ada; itu ialah kelas Pintar yang diikutkan dengan Laravel Frame-work.

Membuat Object Pintar

Memakai kelas Fluent dapat semakin nyaman dibanding memakai larik asosiatif pada kondisi tertentu. Ini memungkinkannya Anda untuk terhubung property object memakai notasi titik dibanding notasi array.

Kelas Fluent diartikan dalam namespace `IlluminateSupport`.

<?php
namespace Illuminate\Support;
class Fluent implements Arrayable, ArrayAccess, Jsonable, JsonSerializable
{ }

Ini menerapkan antar-muka `Arrayable,` `ArrayAccess,` `Jsonable,` dan `JsonSerializable`. Memakai kelas Fluent, Anda bisa terhubung property memakai sintaks Array dan notasi titik.

Silahkan kita saksikan contoh-contoh langkah memakai class Fluent.

Langkah membuat object Fluent memakai sistem make

Untuk mendeskripsikan instance baru dari kelas Fluent, Anda bisa memakai sistem `make()` seperti berikut:

$product = new Fluent::make([
 'id' => 1,
 'name' => 'Nike Air Force 1',
 'price' => 50000, // cents

Selanjutnya Anda bisa terhubung property seperti berikut:

echo $product->name;

// or

echo $product['name'];

Lihat bagaimana kita bisa memakai ke-2 wujud, Array atau notasi titik, dari akses.

Langkah membuat object Fluent memakai Array yang telah ada

Anda bukan hanya bisa membuat instance kelas Fluent memakai sistem `make()`, Anda dapat membuntel Array yang ada memakai konstruktor kelas Fluent seperti berikut:

$data = [
 'id' => 1,
 'name' => 'Nike Air Force 1',
 'price' => 50000, // cents
];

$product = new Fluent($data);

Selanjutnya Anda bisa terhubung property misalnya:

echo $product->name;

// or

echo $product['name'];

Langkah membuat object Fluent memakai Object yang telah ada

Kelas Fluent dapat membuntel Objek tidak cuma Array. Ini misalnya:

$data = new Product(
 id: 1,
 name: 'Nike Air Force 1',
 price: 50000, // cents
);

$product = new Fluent($data);

Kemudian akses properti seperti ini:

echo $product->name;

// or

echo $product['name'];

Lihat bagaimana kita bisa memakai ke-2 wujud, Array atau notasi titik, dari akses.

Langkah memakai sistem `with()` untuk menambah property tambahan ke object Fluent.

Ucapkanlah Anda menyatukan larik yang ada pada instance baru kelas Fluent dan ingin menambah data tambahan. Dalam masalah ini, Anda harus memakai sistem `with()`:

$data = new Product(
 id: 1,
 name: 'Nike Air Force 1',
 price: 50000, // cents
);

$product = new Fluent($data)->with('sku', '123AVC');

Object `$product` saat ini mempunyai empat property terhitung `sku.`

Langkah membuat object Lancar memakai API lancar

Sistem ke-3 dan paling akhir untuk membikin instance kelas Fluent dengan memakai API lancar seperti berikut:

$product = (new Fluent)
->id(1)
 ->name('Nike Air Force 1')
 ->price(50000);

Terhubung property yang tidak ada di object Fluent

Kita sudah menyaksikan awalnya jika saat Anda terhubung property yang tidak ada di array Asosiatif, PHP melemparkan `ErrorException.`

Menurut Anda, apa yang terjadi saat Anda terhubung property yang tidak berada di object Fluent?

$product->created_at;
Baris di atas kembalikan `null`. Tidak ada pengecualian yang dilempar.

Anda bisa menghargakan nilai kelas Fluent di atas array Asosiatif dan Object

Merekayasa Object Pintar

Anda bisa memakai object Fluent bukan hanya untuk terhubung property tapi juga atur nilai property.

Anda mempunyai dua pilihan untuk memutuskan nilai property: sintaks array atau notasi titik. Silahkan kita saksikan misalnya:

$data = new Product(
 id: 1,
 name: 'Nike Air Force 1',
 price: 50000, // cents
);

$product = new Fluent($data);
$product['price'] = 60000;

// or

$product->price = 60000;

Anda dapat hapus nilai property memakai sistem `unset()` yang disebut sisi dari pustaka standard PHP.

unset($product['price']);

// or

unset($product->price);

Ringkasan

Kelas Fluent di PHP Laravel ialah kelas utilitas yang memungkinkannya pengembang membuat dan merekayasa object secara lebih gampang dibaca dan gesturf. Ini berguna saat bekerja dengan object dengan beberapa property, karena memungkinkan ditata dan diakali secara singkat. Kelas Fluent bisa dibikin memakai sistem make, larik atau object yang ada, atau lewat API lancar. Itu bisa diakali dengan terhubung dan atur propertinya memakai notasi titik.

Keseluruhannya, kelas Fluent ialah alat penting untuk bekerja dengan object di Laravel dan dipakai secara luas di semua rangka kerja untuk memberi langkah yang lebih gesturf dan gampang dibaca untuk bekerja dengan data.