Laravel Artisan adalah command-line interface (CLI) bawaan Laravel yang sangat powerful. Selain ratusan command built-in seperti php artisan migrate atau php artisan make:model, kamu juga bisa membuat command sendiri. Custom Artisan command sangat berguna untuk mengotomasi tugas rutin seperti membersihkan data lama, mengirim laporan harian, atau sinkronisasi data dari API eksternal.
Membuat Command Baru
Gunakan Artisan untuk membuat skeleton command baru:
php artisan make:command SendDailyReport
File akan dibuat di app/Console/Commands/SendDailyReport.php. Laravel 11 secara otomatis mendiscover command di folder ini, jadi tidak perlu registrasi manual.
Anatomi Command Laravel
Buka file yang baru dibuat dan pahami strukturnya:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class SendDailyReport extends Command
{
// Signature: nama command dan argumen/option-nya
protected $signature = 'report:daily
{type : Tipe laporan (sales/inventory)}
{--email= : Alamat email tujuan}
{--dry-run : Jalankan tanpa benar-benar kirim email}';
// Deskripsi yang muncul di php artisan list
protected $description = 'Kirim laporan harian ke admin via email';
// Logic utama command
public function handle(): int
{
$type = $this->argument('type');
$email = $this->option('email') ?? 'admin@example.com';
$dryRun = $this->option('dry-run');
$this->info("Menyiapkan laporan tipe: {$type}");
if (! in_array($type, ['sales', 'inventory'])) {
$this->error("Tipe laporan tidak valid. Gunakan 'sales' atau 'inventory'.");
return Command::FAILURE;
}
// Simulasi generate laporan
$this->withProgressBar(range(1, 5), function ($step) {
sleep(1); // Simulasi proses
});
$this->newLine();
if ($dryRun) {
$this->warn("Mode dry-run: email tidak dikirim ke {$email}");
} else {
$this->info("Laporan {$type} berhasil dikirim ke: {$email}");
// Di sini kamu panggil Mailable atau Notification
}
return Command::SUCCESS;
}
}
Artikel ini ditampilkan sebagian. Untuk pembahasan selengkapnya, beserta contoh dan langkah detailnya, Anda dapat membacanya pada sumber aslinya:
Cara Membuat Command Artisan Custom di Laravel
Tutorial pemrograman dan tools developer lainnya juga tersedia di dhiecoderweb.com.
Top comments (0)