Dalam sesi kali ini akan mempelajari cara menginstall Laravel, mulai dari instalasi XAMPP, menginstall composer, instalasi file Laravel melalui composer, serta mengakses Laravel dengan perintah php artisan serve.
Meskipun Laravel dibuat dari bahasa pemrograman PHP, namun Laravel memiliki cara yang khusus agar bisa dijalankan.
Instalasi XAMPP dan Cara Akses PHP dari CMD
Proses instalasi Laravel memang terkesan sedikit rumit, karena dari web resminya tidak tersedia file Laravel yang bisa di download.
Mengikuti konsep modern, Laravel harus diinstal menggunakan aplikasi “package manager” bernama composer. Selain itu, juga perlu PHP yang akan lebih mudah diinstal melalui XAMPP.
Install XAMPP
XAMPP merupakan aplikasi standar untuk memproses kode PHP secara local. Jika butuh file installer XAMPP, bisa download dari web resminya di apachefriends.org, kemudian install seperti biasa.
Laravel versi terbaru (versi 8 pada saat tutorial ini di revisi), butuh minimum PHP 7.3. Artinya harus menggunakan XAMPP 7.3 ke atas.
Mengakses PHP dari CMD
Mengakses file PHP dari web browser (menggunakan XAMPP). Selain itu sebenarnya PHP juga bisa diakses dari cmd (command prompt), atau terminal kalau di Linux/Mac OS.
Bagi pemula, mengetik perintah di cmd terasa agak menakutkan karena tidak bisa melihat apa-apa, hanya layar hitam tanpa tombol apapun yang bisa di klik. Namun cepat atau lambat, cmd akan jadi sahabat yang selalu menemani dalam proses pembuatan aplikasi di Laravel, karena Laravel banyak menggunakan fitur ini.
Bawaan XAMPP terbaru, sudah bisa mengakses php langsung dari cmd.
Pertama, silahkan buka cmd Windows. Untuk Windows 10, cara paling cepat adalah dengan klik tombol icon kaca pembesar (search) yang terletak di sebelah icon start menu (tombol Windows), lalu ketik cmd dan klik “Command Prompt“:
Jika aplikasi cmd sudah terbuka, langsung ketik perintah php -v, lalu tekan Enter:
Ini artinya menjalankan perintah -v ke file php.exe. Perintah -v berfungsi untuk menampilkan versi PHP. Jika terlihat versi PHP seperti tampilan di atas, maka berarti file php.exe sudah bisa diakses secara global.
Dari teks yang tampil terlihat bahwa di komputer terinstall PHP 7.4.2. Hasil yang didapati bisa berbeda sesuai dengan versi PHP yang di install bersama XAMPP.
Namun jika tampil pesan “‘php’ is not recognized as an internal or external command, operable program or batch file“, artinya php.exe belum bisa diakses secara global.
Menginstall Composer
Pengertian Composer, Package Manager dan Dependency
Untuk menginstall Laravel, disarankan memakai aplikasi Composer. Composer merupakan sebuah aplikasi package manager untuk menginstall berbagai file PHP, terutama library dan framework yang dibuat menggunakan PHP.
Package manager adalah sebutan untuk aplikasi yang bertugas mengelola dependency atau ketergantungan antar aplikasi. Composer terinspirasi dari npm (singkatan dari node package manager), yakni aplikasi package manager yang lebih dahulu hadir untuk bahasa pemrograman JavaScript.
Pertanyaan, kenapa harus pakai Composer? Dan apa itu dependency?
Mayoritas website modern tidak lagi dibuat dari nol, tapi memanfaatkan berbagai library atau kode program lain yang sudah ada. Laravel juga menggunakan prinsip yang sama. Istilahnya “don’t reinvent the wheel“, maksudnya jika orang lain sudah menyediakan alat yang tinggal pakai (dan diizinkan untuk dipakai).
Laravel juga menggunakan banyak komponen library yang sudah ada, termasuk yang dikembangkan oleh framework PHP lain (terutama dari framework Symfony). Bisa disebut bahwa tim pengembang laravel juga menggunakan prinsip “don’t reinvent the wheel“.
Untuk mengelola semua dependency dibutuh composer.
Cara Menginstall Composer
Pada dasarnya cara menginstall Composer sama seperti proses instalasi program lain. Pertama, ambil file installer dari web resminya di getcomposer.org.
Mencoba Menjalankan Composer
Composer adalah aplikasi yang diakses dari cmd. Maka untuk menguji apakah composer sudah berhasil di install atau tidak, buka cmd, ketik composer dan tekan Enter.
Jika tampil teks seperti berikut, maka artinya composer sudah berhasil di install dan bisa diakses secara global.
Menginstall Laravel 8
Dalam dokumentasi resmi Laravel dijelaskan bahwa terdapat 2 cara instalasi Laravel. Pertama dengan perintah composer create-project, dan yang kedua dengan laravel installer.
Install Laravel dengan composer create-project
Proses instalasi Laravel dengan perintah composer create-project kadang disebut juga sebagai cara singkat, karena hanya perlu menulis 1 perintah saja ke dalam cmd. Cara ini memang praktis tapi perintahnya agak susah di hafal karena cukup panjang.
Silahkan buka cmd lalu pindah ke folder htdocs XAMPP dengan perintah cd C:\xampp\htdocs:
Kemudian ketik atau copy perintah berikut:
composer create-project --prefer-dist laravel/laravel coba1 |
Perintah ini terdiri dari beberapa bagian:
- composer: jalankan composer
- create-project: buat sebuah project
- –prefer-dist laravel/laravel: pilih versi stabil paling akhir dari framework laravel
- coba1: simpan semua file ke dalam folder coba1
Apabila sudah tampil teks ‘Application key set successfully‘ dan cursor kembali ke C:\xampp\htdocs, maka artinya proses instalasi Laravel sudah selesai. Silahkan buka folder htdocs dari Windows Explorer, akan terlihat folder coba1 yang berisi berbagai file Laravel.
Laravel memiliki cara tersendiri untuk bisa diakses dari web browser Jadi untuk sementara biarkan file-file ini “apa adanya”.
Apabila ingin membuat project baru, maka tinggal jalankan kembali perintah diatas . Yang perlu diubah hanya nama folder saja, misalkan ingin membuat web sistem informasi SMA, maka bisa mengetik perintah berikut:
composer create-project --prefer-dist laravel/laravel si_sma |
Maka composer akan kembali menginstall Laravel ke folder si_sma.
Install Laravel dengan Laravel Installer
Proses instalasi Laravel, yakni via Laravel Installer. Cara ini kadang disebut juga dengan cara yang panjang karena perlu menginstall aplikasi Laravel Installer terlebih dahulu.
Namun ini sangat cocok jika sering membuat project laravel karena perintahnya lebih singkat daripada composer create-project. Selain itu Laravel Installer hanya perlu di install sekali di awal saja.
Proses instalasi Laravel Installer juga dilakukan dari composer, yakni dengan perintah berikut:
composer global require laravel/installer |
Jalankan dengan menekan tombol Enter.
Jika terlihat tampilan di atas, artinya Laravel Installer sudah sukses terinstall. Sekarang untuk menginstall Laravel perintahnya jauh lebih singkat:
laravel new <nama_folder> |
Sebagai contoh, saya ingin menginstall Laravel di folder C:\xampp\htdocs\coba2\, maka perintahnya adalah:
cd C:\xampp\htdocs\ laravel new coba2 |
Perintah cd C:\xampp\htdocs\ dipakai untuk pindah ke folder C:\xampp\htdocs\. Setelah itu barulah proses instalasi Laravel dilakukan dengan perintah laravel new coba2.
Sebagaimana layaknya sebuah software, Laravel secara berkala terus di update. Dalam setiap update terdapat perbaikan bug, penambahan fitur baru, serta penghapusan fitur lama. Mulai dari Laravel versi 5.0, setiap 6 bulan sekali tim Laravel akan merilis versi baru.
Update setiap 6 bulan relatif singkat, bahkan terbilang sangat cepat. Pada saat tutorial ini ditulis, versi terakhir Laravel adalah versi 7, dan tidak lama lagi akan keluar Laravel 8.
Agar semua tahapan belajar Laravel di web ini bisa diikuti dengan baik, maka diharuskan untuk menggunakan Laravel 8. Ini untuk menghindari perbedaan fitur antar versi Laravel karena sangat mungkin ketika membaca tutorial ini Laravel sudah masuk ke versi 9, versi 10 atau yang lebih baru lagi.
Proses instalasi yang dilakukan sebelum ini secara otomatis akan menginstall Laravel versi terbaru. Apabila sudah hadir Laravel 9, maka perintah tersebut akan menginstall Laravel 9 ke folder coba1 dan coba2.
Cara untuk menginstall Laravel versi tertentu, bisa modifikasi sedikit perintah composer create-project:
composer create-project --prefer-dist laravel/laravel="^ 8.0 " coba |
Tambahan =”^8.0″ artinya ingin menginstall Laravel 8 dengan versi update minor terakhir. Misalnya saat ini sudah tersedia Laravel 8.9, maka perintah di atas akan menginstall versi tersebut. Seharusnya, update minor ini tidak akan berpengaruh banyak ke kode program yang ada di tutorial ini.
Menjalankan Laravel 8
Folder Instalasi Laravel 8
Pilih salah satu folder yang berisi Laravel 8 lalu ubah nama foldernya menjadi laravel01. Perubahan nama folder ini tidak wajib, hanya agar lebih rapi saja. Atau juga bisa jalankan perintah berikut untuk menginstall Laravel 8 ke dalam folder laravel01:
composer create-project --prefer-dist laravel/laravel="^8.0" laravel01 |
Sepanjang tutorial ini memakai folder dengan nama “laravel01“. Bisa saja menggunakan nama lain karena itu tidak pengaruh ke kode program. Yang penting, di dalam folder tersebut terinstall Laravel 8.
Baik, mari lihat apa saja isi folder Laravel ini:
Untuk Laravel 8 yang digunakan, total terdapat sekitar 7.246 file di dalam 1.193 folder. Terbilang luar biasa banyak, dan itulah alasan kenapa ukuran file installer Laravel mencapai lebih dari 40MB.
Namun dari gambar terlihat hanya ada 10 folder serta beberapa file. Mayoritas file Laravel memang tersembunyi karena tidak perlu diutak-atik. Sepanjang pembuatan project nanti, hanya butuh mengubah kurang dari 10 file bawaan Laravel (tidak termasuk file yang akan di tambah).
Mengenal Perintah “php artisan serve”
Selama ini, cara mengakses sebuah file PHP adalah dengan menjalankan XAMPP lalu membukanya dari alamat localhost. Ini sebenarnya juga masih bisa dipakai untuk mengakses Laravel.
Namun Laravel menyediakan cara khusus dengan memanfaatkan web server bawaan PHP. Mulai dari PHP versi 5.4 ke atas, PHP sudah menyertakan web server internal sendiri. Inilah yang dipakai Laravel untuk memudahkan proses pembuatan aplikasi.
Untuk menjalankan server bawaan PHP, harus menggunakan cmd. Silahkan buka cmd lalu masuk ke folder instalasi Laravel. Karena file Laravel yang digunakan ada di C:\xampp\htdocs\laravel01, maka perintah untuk pindah directory adalah:
cd C:\xampp\htdocs\laravel01 |
Setelah berada di dalam folder Laravel, jalankan web server dengan perintah berikut:
php artisan serve |
Lalu akhiri dengan tombol Enter.
Sesaat kemudian cursor cmd akan berhenti, maksudnya tidak bisa mengetik apa-apa lagi di cmd. Ini merupakan hal normal dan itu artinya server PHP sudah aktif. Selain itu juga akan tampil teks:
Starting Laravel development server: http://127.0.0.1:8000 |
Artinya server sudah aktif dan bisa diakses dari http://127.0.0.1:8000. Silahkan buka web browser dan ketik alamat ini.
Dari langkah-langkah yang sudah dilakukan, ada beberapa hal yang perlu di perhatikan:
Pertama, tidak butuh menjalankan web server Apache bawaan XAMPP, karena yang sedang berjalan saat ini adalah server internal bawaan PHP.
Kedua, karena tidak perlu menjalankan Apache bawaan XAMPP, maka sebenarnya tidak harus menginstall Laravel di folder htdocs. Bisa saja Laravel di install ke drive D atau tempat lain kemudian jalankan perintah php artisan serve dari folder tersebut.
Ketiga, jendela cmd yang dipakai menjalankan perintah php artisan serve tidak boleh ditutup! Apabila jendela ini ditutup, server otomatis juga akan berhenti.
Keempat, secara default port yang dipakai adalah 8000. Bisa ganti port ini dengan nomor lain dengan tambahan perintah --port nomor_port
. Sebagai contoh, jika ingin menjalankan server di port 8080, bisa menjalankan perintah berikut:
php artisan serve --port 8080 |
Membuat Route di Laravel 8
Pengertian Route Laravel
Route atau Routing berperan sebagai penghubung antara user dengan keseluruhan framework. Dalam Laravel, setiap alamat web yang diketik di web browser akan melewati route terlebih dahulu. Route-lah yang menentukan ke mana proses akan dibawa, apakah ke Controller atau ke View.
Route Bawaan Laravel
Secara default, Laravel sudah menyertakan 1 route bawaan. Sebelum masuk ke kode program, mari lihat hasil tampilan dari route ini.
Jalankan server PHP dengan perintah php artisan serve di cmd. Kemudian buka web browser dan ketik alamat http://localhost:8000. Hasil tampilan ini sebenarnya berasal dari sebuah proses route di dalam Laravel.
Pada saat mengetik alamat http://localhost:8000 dan menekan tombol Enter, maka sebuah kode program route Laravel akan dipanggil untuk memproses alamat tersebut.
Kode program ini berada di dalam file routes/web.php. Silahkan buka file ini:
Secara bawaan, file routes/web.php sudah berisi beberapa baris kode program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php use Illuminate\Support\Facades\Route; /* |---------------------------------------------------------------------- | Web Routes |---------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get( '/' , function () { return view( 'welcome' ); }); |
Di baris 3 terdapat perintah untuk proses import Route facade. Secara sederhana, facade adalah istilah Laravel untuk menyebut class bantu. Route class terdiri dari berbagai method. Dalam penggunaan normal, perintah di baris 3 ini tidak perlu diutak-atik.
Berikutnya di baris 5 – 14 terdiri dari komentar yang menjelaskan isi file. Hampir setiap file bawaan Laravel berisi komentar tentang maksud dan cara menggunakan file. Kadang baris komentar malah lebih panjang daripada file kode program sebenarnya. Ini sangat memudahkan dalam mempelajari setiap perintah yang ada.
Kode program dari route.php ini terdapat di 3 baris terakhir, yakni:
1 2 3 | Route::get( '/' , function () { return view( 'welcome' ); }); |
Inilah kode program yang dipanggil untuk memproses alamat http://localhost:8000. Secara sederhana, penulisan route Laravel mengikuti format berikut:
Route::<jenis method>(<alamat URL>,<proses yang dijalankan>) |
Pertama, menulis perintah ‘Route::‘. Di dalam konsep OOP PHP, tanda :: merupakan perintah untuk mengakses sebuah static method (atau bisa juga static property) kepunyaan sebuah class, yang dalam contoh ini adalah milik class Route.
Selanjutnya diikuti dengan penulisan <jenis method>. Jenis method adalah ‘cara sebuah URL diakses’. ‘get‘ merupakan salah satu jenis method yang akan dijalankan ketika alamat URL diakses secara normal.
Maksud “normal” di sini adalah dengan mengetik langsung alamat web di address bar web browser atau ketika klik sebuah link. Nantinya terdapat jenis method lain seperti post, put, dan delete.
Untuk saat ini bisa disimpulkan bahwa jika ingin membuat route untuk sebuah alamat web, method yang dipakai adalah get.
Setelah itu dalam tanda kurung terdapat <alamat URL>. Ini merupakan alamat URL yang akan di proses oleh route. Dalam contoh route bawaan Laravel, alamat URL ini berisi 1 karakter saja, yakni: ‘/‘. Tanda forward slash dipakai untuk merujuk ke alamat home atau root, yakni alamat ketika web dipanggil tanpa menulis tambahan apapun seperti http://localhost:8000.
Terakhir terdapat inputan untuk <proses yang dijalankan>. Pada bagian inilah menulis kode program yang akan dijalankan oleh route, yakni apakah memanggil view, memanggil controller, atau hal lain. Dalam contoh bawaan Laravel, proses ini berbentuk anonymous function, atau kadang disebut sebagai closure atau callback function:
1 2 3 | function () { return view( 'welcome' ); } |
Anonymous function atau closure adalah sebuah function yang tidak memiliki nama. Umumnya closure dipakai ketika membuat function yang hanya perlu dijalankan 1 kali saja.
Perintah di atas akan menjalankan sebuah View yang bernama ‘welcome’. View ini pada dasarnya berbentuk file php.
Sebagai kesimpulan, tiga baris kode program yang ada di dalam route.php bisa dibaca: Jika halaman home diakses, jalankan view yang bernama welcome.
Format penulisan route bisa lebih kompleks dan isi file route tidak hanya berbentuk anonymous function saja, tapi juga bisa nama view, nama controller, atau hal lain.
Cara Membuat Route di Laravel 8
Untuk membuat route di Laravel, cukup tulis pemanggilan static method Route baru ke dalam file routes/web.php. Sebagai contoh, tulis kode program berikut di bawah route bawaan Laravel:
1 2 3 | Route::get( '/hello' , function () { return 'Hello World' ; }); |
Di sini menulis ‘/hello‘ sebagai argument pertama method Route::get. Sebelumnya sudah dipelajari bahwa argument pertama ini adalah tempat untuk <alamat URL>. Jika ditulis seperti ini, maka sebuah route dengan alamat http://localhost:8000/hello sudah bisa diakses. Berikut hasilnya:
Ketika alamat http://localhost:8000/hello diakses, maka perintah return ‘Hello World’ akan dijalankan. Hasilnya di web browser tampil teks ‘Hello World’.
Isi dari anonymous function ini juga bisa berbentuk kode PHP biasa, tidak harus perintah return. Sebagai contoh kedua, saya akan tambah route baru untuk alamat http://localhost:8000/belajar:
Sekarang isi dari anonymous function terdiri dari 2 buah perintah echo. Keduanya berisi tag <h1> dan <p> yang akan di proses web browser sebagai tag HTML biasa.
Alamat URL di dalam route juga bisa terdiri dari beberapa segmen, seperti contoh berikut:
1 2 3 | Route::get( '/mahasiswa/fasilkom/anto' , function () { echo '<h2 style="text-align: center"><u>Welcome Anto</u></h2>' ; }); |
Jika ditulis seperti ini, maka alamat URL-nya adalah http://localhost:8000/mahasiswa/ fasilkom/anto.
Dengan route, alamat sebuah URL tidak harus bersesuaian dengan file fisik yang ada di server.
Ketika mempelajari PHP dasar, biasa pahami bahwa jika ditulis alamat http://localhost/belajar.php, maka akan mencari file belajar.php di folder htdocs.
Pada diLaravel, alamat URL hanyalah ‘alamat virtual’. Jika ditulis http://localhost:8000/mahasiswa/fasilkom/anto, maka belum tentu di server terdapat folder dengan nama mahasiswa/fasilkom/anto.php, karena alamat tersebut sebenarnya di proses oleh route.