Artisan adalah pintu masuk utama kita ke aplikasi Laravel dari terminal: membangkitkan boilerplate, menjalankan migrasi, menguras cache, sampai bereksperimen lewat tinker. Dasar-dasarnya sudah kita bahas di chapter Mengenal Artisan
; chapter ini berfungsi sebagai kartu contekan padat yang bisa dibuka ulang tanpa harus membuka dokumentasi. Semua perintah dan flag di bawah diverifikasi pada Laravel 13.36.0, dan setiap flag yang kita cantumkan adalah flag yang benar-benar ada di output --help-nya.
Cara membaca kartu ini perlu disepakati dulu. Kolom flag penting hanya memuat flag yang paling sering dibutuhkan — bukan seluruh opsi; daftar lengkapnya selalu bisa dilihat dengan php artisan help <perintah>. Selain itu, php artisan list tanpa argumen menampilkan seluruh perintah terpasang, termasuk yang ditambahkan paket pihak ketiga, sehingga menjadi cara tercepat menemukan nama perintah yang terlupa.
Keluarga make:* #
Perintah make:* membangkitkan class dari stub sehingga kita tidak mengetik kerangka file secara manual. Tabel ini merangkum yang paling sering dipakai sehari-hari.
| Perintah | Fungsi | Flag penting |
|---|---|---|
make:controller | Controller baru | --resource, --api, -i (invokable), -m= (model), -R (form request) |
make:model | Model Eloquent | -m (migration), -f (factory), -s (seeder), --policy, -a (semuanya) |
make:migration | File migration | --create=tabel, --table=tabel |
make:request | Form request class | — |
make:job | Job untuk queue | --sync |
make:event | Event class | — |
make:listener | Event listener | --event=NamaEvent |
make:observer | Observer model | --model=NamaModel |
make:command | Perintah artisan kustom | --command="nama:perintah" |
make:seeder | Seeder class | — |
make:factory | Model factory | --model=NamaModel |
make:middleware | HTTP middleware | — |
make:policy | Policy otorisasi | --model=NamaModel |
make:mail | Mailable class | -m (markdown template) |
make:notification | Notification class | — |
make:rule | Rule validasi berbasis object | — |
make:test | Test class | -u (unit), --pest |
make:component | Komponen Blade | --view (anonymous), --inline |
Pola favorit kami adalah php artisan make:model Tugas -mf: satu perintah menghasilkan model, migration, dan factory sekaligus. Untuk controller CRUD penuh, make:model Tugas -a --api menyiapkan hampir semua class yang dibutuhkan endpoint API. Satu kebiasaan kecil yang berdampak besar: selalu nyalakan php artisan serve dan php artisan tinker di dua tab terminal terpisah sejak awal mengerjakan fitur — serve untuk melihat hasil di browser, tinker untuk mencoba query dan logika kecil tanpa harus menulis file sementara.
Migrasi dan Database #
| Perintah | Fungsi | Flag penting |
|---|---|---|
migrate | Jalankan migration yang belum diproses | --force, --seed, --pretend, --step |
migrate:fresh | Hapus semua tabel lalu migrasi ulang dari nol | --seed |
migrate:rollback | Batalkan batch migration terakhir | --step=2, --batch= |
migrate:reset | Rollback seluruh migration | --force |
migrate:refresh | Reset lalu migrasi ulang (data hilang) | --seed |
migrate:status | Daftar migration beserta status batchnya | — |
db:seed | Isi database lewat seeder | --class=, --force |
db:show | Ringkasan koneksi dan tabel database | --counts, --json |
db:table nama_tabel | Struktur kolom satu tabel | — |
Perbedaan yang paling sering menipu: migrate:fresh menjatuhkan seluruh tabel dulu, sedangkan migrate:refresh berarti reset + migrate — keduanya menghapus data, jadi jangan pernah menjalankannya di database produksi. Untuk database pengembangan SQLite lokal, kombinasi harian kami adalah migrate:fresh --seed yang memulihkan kondisi awal berikut data contoh dalam hitungan detik. Untuk detail siklus ini, rujuk Migration Rollback
dan Database Seeding
.
Route, Cache, dan Optimasi #
| Perintah | Fungsi | Flag penting |
|---|---|---|
route:list | Daftar semua route terdaftar | --path=, --name=, --method=, --except-vendor, --json |
route:cache / route:clear | Cache / hapus cache route | — |
cache:clear | Kosongkan application cache | — |
cache:forget kunci | Hapus satu item cache | [store] |
config:cache / config:clear | Cache / hapus cache konfigurasi | — |
config:show kunci | Tampilkan nilai config saat ini | — |
view:cache / view:clear | Prakompilasi / hapus view terkompilasi | — |
optimize | Cache config, events, routes, sekaligus views | — |
optimize:clear | Hapus semua cache hasil optimize | — |
route:list adalah alat debugging routing paling sering kita pakai — cara membaca outputnya dibedah di Route List dan Debugging
. Di sisi lain, optimize dan optimize:clear adalah pasangan wajib saat deployment: yang pertama membangun semua cache sekaligus, yang kedua meruntuhkannya ketika kita perlu kembali ke keadaan bersih. Perintah db:show --counts dan db:table melengkapi kelompok ini sebagai kaca pembesar struktur database tanpa membuka klien SQL.
Queue, Tinker, dan Utilitas #
| Perintah | Fungsi | Flag penting |
|---|---|---|
queue:work | Proses job dari queue | --queue=, --tries=, --timeout=, --memory= |
queue:retry id|all | Ulangi job yang gagal | — |
queue:failed | Daftar job gagal | — |
queue:flush | Hapus seluruh catatan job gagal | — |
queue:restart | Minta worker memuat ulang kode terbaru | — |
tinker | REPL interaktif dengan aplikasi termuat | — |
serve | Development server PHP | --port=, --host= |
about | Ringkasan environment aplikasi | --only=drivers |
key:generate | Setel APP_KEY | --show |
storage:link | Buat symlink public/storage | — |
down / up | Mode maintenance aktif / nonaktif | --secret=, --retry= |
test | Jalankan test suite | --filter=, --parallel |
Untuk memastikan environment aplikasi berperilaku seperti dugaan kita, about adalah perintah diagnosis tercepat. Berikut hasil nyatanya di sandbox Course ini:
php artisan about --only=driversOutput yang Dihasilkan:
Drivers ....................................................................
Broadcasting ........................................................... log
Cache ............................................................. database
Database ............................................................ sqlite
Logs ........................................................ stack / single
Mail ................................................................... log
Queue ............................................................. database
Session ........................................................... databaseSatu blok ini langsung memperlihatkan driver cache, database, mail, queue, dan session yang sedang aktif — bila salah satu barisnya tidak sesuai harapan, kita tahu harus ke config/ yang mana.
Kartu contekan artisan ini meliputi kerangka aplikasi dan infrastrukturnya. Setelah class-class tersebut lahir, isi sehari-harinya adalah bekerja dengan model — topik kartu contekan berikutnya: Referensi Eloquent .