Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
19.06.2025
No categories

Pabrik Laravel: Membangun Data Uji Realistis dengan Model Pabrik Laravel

Pabrik Laravel pada VPS AlexHost: Uji Seperti Seorang Pro

Mengapa Laravel Factories di AlexHost? Laravel factories adalah jalan pintas Anda untuk menghasilkan data pengujian yang realistis, membuat pengembangan dan pengujian aplikasi Anda menjadi mudah. Dipasangkan dengan hosting VPS AlexHost-lengkapdengan akses root, kecepatan SSD, dan keamanan yang luar biasa-Anda memiliki tempat yang sempurna untuk membangun dan menguji aplikasi Laravel. Panduan ini memandu Anda dalam membuat dan menggunakan pabrik untuk menyiapkan data uji coba dengan cepat, memastikan aplikasi Anda siap untuk diproduksi.

Apa yang dimaksud dengan factory di Laravel?

Factories di Laravel adalah kelas yang mendefinisikan rencana untuk membuat instance model. Kelas ini sangat berguna untuk membuat data uji coba palsu atau untuk memberi makan database dengan data asli. Dengan menggunakan factories, Anda dapat membuat satu atau beberapa instance model Anda, masing-masing dengan atribut yang unik.

Factories menggunakan Faker, sebuah library PHP untuk menghasilkan data palsu seperti nama, alamat, email, dan lainnya agar data terlihat realistis.

Prasyarat

  • Laravel 9 atau yang lebih baru.
  • Pengetahuan dasar tentang model Eloquent dan struktur basis data Laravel.
  • Koneksi ke database yang dikonfigurasi dalam file .env Anda.

Langkah 1: Membuat pabrik model

Di Laravel 8 dan yang lebih baru, pabrik didefinisikan sebagai kelas. Anda dapat membuat pabrik baru menggunakan perintah artisan:

php artisan make:factory UserFactory

Perintah ini akan membuat berkas pabrik baru di direktori database/factories bernama UserFactory.php.

Langkah 2: Mendefinisikan pabrik

Buka file UserFactory.php yang terletak di database/factories:


'email' => $this->faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => bcrypt('password'), // or Hash::make('password')
'remember_token' => Str::random(10),
];}}

Penjelasan

  • $model: Menunjukkan model Eloquent yang mana yang digunakan untuk pabrik ini.
  • definition(): Metode ini mengembalikan sebuah larik atribut yang mendefinisikan model. Metode ini menggunakan instance Faker ($this->faker) untuk menghasilkan data acak untuk setiap atribut.
  • name: Menggunakan faker->name untuk menghasilkan nama yang realistis.
  • email: menggunakan faker->unique()->safeEmail untuk menghasilkan alamat email yang unik.
  • password: Menetapkan kata sandi default menggunakan fungsi bcrypt().
  • remember_token: Menghasilkan string acak untuk bidang remember_token.

Definisi pabrik ini akan membuat kredensial pengguna yang realistis dengan email yang unik dan nama acak.

Langkah 3: Gunakan pabrik untuk membuat instance model

Anda dapat menggunakan pabrik untuk membuat satu atau beberapa contoh model. Berikut ini beberapa contohnya:

3.1. Membuat pengguna tunggal

Untuk membuat satu contoh pengguna dalam pengujian atau seeder, gunakan metode create:

$user = \App\Models\User::factory()->create();

Ini akan membuat pengguna dalam database dengan atribut yang ditentukan di pabrik.

3.2. Membuat beberapa pengguna

Untuk membuat beberapa contoh pengguna:

$users = \App\Models\User::factory()->count(10)->create();

Ini akan membuat 10 catatan pengguna dalam basis data.

3.3. Membuat contoh tanpa menyimpan (metode Make)

Jika Anda ingin membuat instance tanpa menyimpannya ke database, gunakan metode make:

$user = \App\Models\User::factory()->make();

Ini akan membuat objek model Pengguna tanpa menyimpannya ke database.

Langkah 4: Menyesuaikan status pabrik

Status memungkinkan Anda menentukan versi pabrik yang berbeda, yang dapat berguna untuk membuat pengguna dengan peran atau status yang berbeda.

4.1. Tentukan status

Anda dapat mendefinisikan state di dalam kelas pabrik:

public function admin()
{
return $this->state(function (array $attributes) {
return [
'is_admin' => true,
];
});
}

Status admin ini dapat digunakan untuk membuat pengguna dengan atribut is_admin yang disetel ke true.

4.2. Menggunakan status

Untuk menggunakan status admin saat membuat pengguna:

$adminUser = \App\Models\User::factory()->admin()->create();

Ini akan membuat pengguna dengan atribut is_admin yang disetel ke true.

Langkah 5: Menggunakan pabrik dalam pengujian

Factories sangat berguna ketika menulis tes. Factory memungkinkan Anda untuk membuat data pengujian dengan cepat dan fokus pada logika yang Anda uji.

5.1. Membuat data uji dalam kasus uji

Berikut adalah contoh penggunaan pabrik dalam pengujian:

public function test_users_can_be_created()
{
$user = \App\Models\User::factory()->create();$this->assertDatabaseHas('users', [
'email' => $user->email,
]);
}

Pengujian ini membuat pengguna dan kemudian memeriksa apakah pengguna tersebut ada dalam tabel pengguna dengan email yang ditentukan.

Langkah 6: Mengisi basis data dengan pabrik

Pabrik juga dapat digunakan di seeder database untuk mengisi tabel data sampel.

6.1. Membuat seeder

Buat seeder menggunakan perintah artisan:

php artisan make:seeder UserSeeder

Buka berkas UserSeeder.php di dalam database/seeders dan gunakan pabrik untuk membuat pengguna:


}
}

Seeder ini akan membuat 50 pengguna dengan menggunakan pabrik Pengguna.

6.2. Memulai Seeder

Memulai penggunaan seeder:

php artisan db:seed --class=UserSeeder

Perintah ini mengisi tabel pengguna dengan 50 catatan pengguna secara acak.

Langkah 7: Menggunakan koneksi di pabrik

Jika Anda memiliki model dengan tautan, seperti Pengguna dan Pos, Anda dapat membuat pabrik yang membuat data yang ditautkan:

7.1. Menentukan koneksi

Di PostFactory.php:

public function definition()
{
return [
'user_id' => \App\Models\User::factory(),
'title' => $this->faker->sentence,
'body' => $this->faker->paragraph,
];
}

Definisi ini memastikan bahwa ketika sebuah postingan dibuat, seorang pengguna secara otomatis dibuat menggunakan pabrik pengguna.

7.2. Membuat postingan dengan pengguna terkait

$post = \App\Models\Post::factory()->create();

Ini akan membuat postingan dengan pengguna yang terkait dengannya.

Kesimpulan: Pabrik AlexHost = Menguji Nirwana

Pabrik Laravel membuat data pengujian menjadi sangat mudah, dan VPS AlexHost memberikan aplikasi Laravel Anda kecepatan dan kontrol untuk bersinar. Dari pengguna tunggal hingga hubungan yang kompleks, pabrik menyederhanakan pengujian dan penyemaian. Terapkan di VPS Anda, jalankan php artisan db:seed, dan saksikan aplikasi Anda menjadi hidup. Butuh bantuan? AlexHost siap membantu Anda-mengkode, menguji, menaklukkan!

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills

Похожие записи не найдены.