PHP dan Composer yang sudah kita siapkan di dua chapter sebelumnya adalah gerbang masuk ke Laravel. Sekarang kita akan benar-benar membuat proyek Laravel baru di komputer sendiri. Dokumentasi instalasi resmi
menyediakan dua cara resmi untuk membuat aplikasi Laravel — melalui Laravel installer atau melalui Composer create-project — dan pada chapter ini kita akan mencoba keduanya beserta langkah lanjutan setelah proyek terbentuk.
Cara 1: Laravel Installer #
Cara pertama memakai Laravel installer, sebuah package Composer khusus yang dipasang secara global di komputer kita:
composer global require laravel/installerSetelah perintah tersebut selesai, perintah laravel tersedia dari terminal mana pun. Membuat aplikasi baru tinggal menjalankan:
laravel new example-appPerintah laravel new bersifat interaktif: installer akan menanyakan starter kit yang kita inginkan, database yang dipakai, lalu menjalankan migrasi awal secara otomatis. Skrip php.new dari chapter Menyiapkan PHP juga sudah memasang Laravel installer untuk kita, jadi pengguna php.new tidak perlu lagi menjalankan composer global require.
Cara 2: Composer create-project #
Cara kedua memakai Composer secara langsung untuk menyalin skeleton resmi laravel/laravel dari Packagist:
composer create-project laravel/laravel example-appKita jalankan perintah tersebut untuk membuat aplikasi uji, dan berikut hasil nyatanya di lingkungan pengujian Course ini:
composer create-project laravel/laravel testapp --no-interactionOutput yang Dihasilkan:
Creating a "laravel/laravel" project at "./testapp"
Installing laravel/laravel (v13.11.0)
- Installing laravel/laravel (v13.11.0): Extracting archive
Created project in /tmp/testapp
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 109 installs, 0 updates, 0 removals
- Locking laravel/framework (v13.36.0)
...
Generating optimized autoload files
> @php artisan package:discover --ansi
INFO Discovering packages.
...
> @php artisan key:generate --ansi
INFO Application key set successfully.
> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
> @php artisan migrate --graceful --ansi
INFO Preparing database.
Creating migration table ....................................... 2.37ms DONE
INFO Running migrations.
0001_01_01_000000_create_users_table ........................... 1.81ms DONE
0001_01_01_000001_create_cache_table ........................... 0.89ms DONE
0001_01_01_000002_create_jobs_table ............................ 1.58ms DONEOutput panjang tersebut dipangkas di bagian tengah agar mudah dibaca, tetapi urutan prosesnya utuh. Composer mengunduh skeleton laravel/laravel v13.11.0, memasang 109 package (termasuk laravel/framework v13.36.0), lalu menjalankan beberapa langkah pasca-instalasi otomatis: menyalin .env.example menjadi .env, menemukan package, membuat APP_KEY, membuat berkas SQLite, dan menjalankan migrasi awal. Perintah laravel new melakukan langkah-langkah serupa dengan tampilan interaktif yang lebih ramah.
Langkah Setelah Instalasi #
Proyek baru belum bisa dibuka di browser sampai kita menjalankan development server. Masuk ke direktori proyek lalu jalankan server bawaan Laravel:
cd example-app
php artisan serveSetelah beberapa detik, aplikasi bisa dibuka di http://localhost:8000 dan menampilkan halaman selamat datang Laravel — sebuah view Blade tunggal yang disiapkan skeleton sebagai bukti seluruh rangkaian sudah bekerja. Dokumentasi resmi juga menyarankan menjalankan npm install && npm run build saat pertama kali agar asset frontend siap dipakai; kita akan membahas perintah composer run dev yang menyatukan semua proses ini pada chapter Menjalankan Development Server.
Perlu dicatat bahwa perintah pasca-instalasi tadi sudah mengurus tiga kebutuhan penting proyek baru: berkas .env dibuat dari .env.example, APP_KEY diisi dengan kunci acak, dan migrasi awal dijalankan ke database SQLite. Artinya, kita tidak perlu lagi melakukan langkah konfigurasi apa pun sebelum halaman selamat datang bisa tampil. Bila suatu saat kita menyalin proyek dari repositori Git alih-alih membuat baru, ketiga langkah itu harus kita jalankan sendiri — Composer bahkan menyediakan script composer run setup di proyek bawaan untuk mengotomatiskannya kembali.
Kapan Memakai Cara yang Mana #
Kedua cara resmi tersebut menghasilkan proyek yang identik karena sama-sama berbasis skeleton laravel/laravel, sehingga pilihan hanya soal selera dan kebutuhan. Laravel installer lebih nyaman untuk pemula karena dialog interaktifnya memandu setiap keputusan, sementara create-project lebih cocok untuk skrip otomatis di server CI yang tidak bisa menjawab pertanyaan interaktif:
| Aspek | laravel new | composer create-project |
|---|---|---|
| Prasyarat | Laravel installer terpasang global | Cukup Composer |
| Interaksi | Dialog interaktif (starter kit, database) | Berjalan diam tanpa pertanyaan |
| Cocok untuk | Pemula yang baru belajar | Skrip otomatis dan CI |
Apapun cara yang kita pilih, hasil akhirnya adalah direktori proyek berisi kerangka aplikasi lengkap dengan konfigurasi awal. Aplikasi segar ini secara bawaan memakai SQLite dan sudah dimigrasi, tetapi kita perlu memahami bagaimana mengubah konfigurasi database tersebut — topik chapter berikutnya.