Apa Itu PHP Artisan? Perintah Artisan Laravel yang Wajib Dikuasai

PHP Artisan adalah command line bawaan Laravel. Lewat perintah php artisan, kamu bisa menjalankan server lokal, membuat file controller dan model, menjalankan migration database, membersihkan cache, sampai menyalakan mode maintenance, tanpa menulis kode itu satu per satu. Artikel ini menjelaskan cara kerja Artisan dan perintah yang paling sering dipakai di Laravel 12, lengkap dengan contoh. Semua perintah sudah kami jalankan di project Laravel 12.70.

Kalau yang kamu cari adalah cara membuat perintah Artisan sendiri, bacaannya ada di membuat custom Artisan command di Laravel 12. Artikel ini fokus pada perintah bawaan.

Apa Itu PHP Artisan dan Cara Menjalankannya

Artisan sebenarnya adalah file PHP bernama artisan di root project Laravel. Perintah php artisan berarti “jalankan file artisan dengan PHP”. Karena itu, perintahnya harus dijalankan dari folder project, yaitu folder yang berisi file artisan, composer.json, dan .env.

cd toko-online
php artisan list

php artisan list (atau cukup php artisan) menampilkan semua perintah yang tersedia. Di project Laravel 12 yang baru, jumlahnya lebih dari seratus. Perintah dikelompokkan dengan awalan, misalnya make: untuk membuat file, migrate: untuk database, dan route: untuk routing.

Lupa opsi sebuah perintah? Tambahkan --help:

php artisan make:model --help
php artisan list make

Perintah kedua hanya menampilkan perintah dengan awalan make:. Paket yang kamu pasang (misalnya Livewire atau Sanctum) juga bisa menambah perintah baru ke daftar ini.

Perintah PHP Artisan yang Paling Sering Dipakai

Perintah Fungsi
Menjalankan aplikasi
php artisan serve Menjalankan server lokal di http://127.0.0.1:8000
php artisan tinker Konsol interaktif untuk mencoba kode dan query Eloquent
php artisan about Ringkasan versi Laravel, PHP, environment, cache, dan driver
Membuat file (generator)
php artisan make:controller Membuat controller
php artisan make:model Membuat model Eloquent, bisa sekaligus migration, factory, seeder, dan controller
php artisan make:migration Membuat file migration
php artisan make:seeder / make:factory Membuat seeder dan factory data
php artisan make:request Membuat Form Request untuk validasi
php artisan make:middleware Membuat middleware
Database
php artisan migrate Menjalankan migration yang belum dijalankan
php artisan migrate:fresh --seed Menghapus semua tabel, migrate ulang, lalu mengisi data contoh
php artisan db:seed Menjalankan seeder
Routing dan cache
php artisan route:list Menampilkan semua route
php artisan optimize Men-cache config, route, event, dan view untuk production
php artisan optimize:clear Menghapus semua cache tersebut
php artisan config:clear / cache:clear / view:clear Menghapus cache tertentu saja
Lain-lain
php artisan key:generate Mengisi APP_KEY di .env
php artisan storage:link Membuat symlink public/storage agar file upload bisa diakses publik
php artisan queue:work Memproses job di antrian
php artisan schedule:work Menjalankan scheduler di lokal
php artisan down / up Menyalakan dan mematikan mode maintenance
php artisan install:api Membuat routes/api.php dan memasang Sanctum
php artisan test Menjalankan test

php artisan serve: Menjalankan Server Lokal

php artisan serve

# ganti port
php artisan serve --port=8080

# bisa diakses dari HP di jaringan yang sama
php artisan serve --host=0.0.0.0 --port=8000

Kalau port 8000 sedang dipakai, serve otomatis mencoba port berikutnya (8001, 8002, dan seterusnya, sampai 10 kali). Perhatikan alamat yang tercetak di terminal. Di Laravel 12 ada juga composer run dev, yang menjalankan serve, queue worker, log, dan Vite sekaligus. Penjelasannya ada di panduan cara install Laravel 12.

php artisan serve hanya untuk development. Di server production, gunakan web server seperti Nginx atau Apache dengan PHP-FPM.

Perintah make: untuk Membuat File

Perintah make: membuat file dari template (stub) di lokasi yang benar, lengkap dengan namespace. Yang paling hemat waktu adalah make:model dengan opsi gabungan:

# model + migration + factory + seeder
php artisan make:model Category -mfs

# model + migration + resource controller
php artisan make:model Product -mcr

# semua: migration, seeder, factory, policy, resource controller, form request
php artisan make:model Order --all
Opsi Yang ikut dibuat
-m Migration
-f Factory
-s Seeder
-c Controller
-r Controller dijadikan resource controller
--api Controller dijadikan API resource controller
-R Form request untuk store dan update
--policy Policy
-a / --all Semua di atas (migration, seeder, factory, policy, resource controller, form request)

Detail tiap jenis controller ada di panduan membuat controller di Laravel 12, dan isi file migration dibahas di cara membuat migration Laravel.

Laravel 12 juga punya generator untuk class PHP biasa: make:class, make:enum, make:interface, dan make:trait.

php artisan tinker: Mencoba Kode Langsung

Tinker adalah konsol interaktif yang sudah memuat seluruh aplikasi. Berguna untuk mengecek data atau mencoba query tanpa membuat route:

php artisan tinker

> App\Models\User::count();
> App\Models\Category::where('is_active', true)->pluck('name');
> exit

Untuk menjalankan satu baris tanpa masuk ke konsol, pakai --execute:

php artisan tinker --execute="echo App\Models\Category::count();"

Tinker bekerja pada database sungguhan. Hati-hati menjalankan delete() atau update() di server production.

Perintah Cache dan Optimasi

# production, setelah deploy
php artisan optimize

# saat .env atau route diubah tetapi perubahan tidak terbaca
php artisan optimize:clear

Setelah config:cache (bagian dari optimize), Laravel tidak lagi membaca file .env secara langsung. Perubahan .env baru terbaca setelah cache dihapus atau dibuat ulang. Ini penyebab paling umum keluhan “sudah ganti password database di .env tapi masih error”.

Mode Maintenance

php artisan down
php artisan up

Selama mode maintenance aktif, semua pengunjung mendapat halaman 503. Untuk tetap bisa mengakses aplikasi sambil maintenance, pakai php artisan down --secret="kode-rahasia", lalu buka https://domainkamu.com/kode-rahasia sekali di browser.

Menjalankan Artisan dari Kode

Perintah Artisan juga bisa dipanggil dari kode PHP, misalnya dari controller atau job, lewat facade Artisan:

use Illuminate\Support\Facades\Artisan;

$exitCode = Artisan::call('migrate', ['--force' => true]);
$output = Artisan::output();

Nilai 0 berarti perintah berhasil. Opsi --force diperlukan karena perintah migrate meminta konfirmasi saat environment-nya production.

Error Artisan yang Sering Muncul

  • Could not open input file: artisan. Terminal tidak sedang berada di folder project. Masuk dulu dengan cd nama-project.
  • Command "xxx" is not defined. Salah ketik, atau perintah itu milik paket yang belum dipasang. Cek dengan php artisan list.
  • Error versi PHP atau vendor/autoload.php tidak ditemukan. Dependency belum dipasang. Jalankan composer install terlebih dahulu, dan pastikan php -v sesuai kebutuhan Laravel 12 (PHP 8.2 ke atas).
  • db:show atau db:table gagal dengan pesan ekstensi intl. Perintah ini memformat angka dan butuh ekstensi PHP intl. Aktifkan ekstensinya, atau pakai migrate:status untuk sekadar mengecek migration.

Pertanyaan yang Sering Diajukan

Apa itu php artisan serve?

Perintah untuk menjalankan server pengembangan bawaan PHP pada project Laravel, secara bawaan di http://127.0.0.1:8000. Hanya untuk lokal, bukan untuk production.

Apa beda Artisan dan Composer?

Composer adalah package manager PHP: memasang dan memperbarui library. Artisan adalah command line milik Laravel untuk mengelola project yang sudah ada. Composer membuat project Laravel, Artisan dipakai setelahnya.

Apakah Laravel gratis?

Ya. Laravel adalah framework open source berlisensi MIT, termasuk Artisan. Biaya baru muncul untuk layanan pihak ketiga seperti hosting atau layanan berbayar di ekosistem Laravel.

Bagaimana cara membuat perintah Artisan sendiri?

Dengan php artisan make:command NamaCommand. Langkah lengkap, termasuk argumen, opsi, dan penjadwalan, ada di artikel custom Artisan command.

Lanjut belajar: atur URL aplikasi lewat routing Laravel, atau lihat urutan materi lengkap di halaman tutorial Laravel.

Butuh aplikasi berbasis Laravel untuk bisnis, tetapi tim internal belum punya waktu? Tim Arrazy Inovasi di Purwokerto mengerjakan pembuatan sistem aplikasi custom dari perancangan sampai server production.

Konsultasi project Laravel →

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *