Halo teman-teman semuanya, sebelumnya kita sudah berkenalan dengan Inertia.js dan sekarang kita akan lanjutkan belajar untuk melakukan proses installasi project Laravel baru, dimana project ini nanti akan kita kombinasikan dengan Inertia.js akan dapat menghasilkan sebuah aplikasi berbasis SPA atau Single Page Application dengan lebih mudah dan cepat.
Sebelum kita mulai membuat project baru dengan Laravel, maka kita perlu melakukan installasi Composer terlebih dahulu. karena kita akan membuat project Laravel tersebut menggunakan Composer.
Untuk installasi Composer, silahkan bisa ikuti langkah-langkahnya sesuai dengan sistem operasi yang digunakan :
Untuk mengetahui apakah Composer berhasil terinstall, kita bisa menjalankan perintah berikut ini di dalam terminal/CMD :
composer
Langkah 1 - Membuat Project Laravel Dengan Composer
Setelah berhasil melakukan proses installasi Composer, maka sekarang kita sudah bisa membuat project Laravel baru menggunakan Composer.
Silahkan masuk ke dalam folder dimana kita akan menyimpan project-nya dan jalankan perintah berikut ini di dalam terminal/CMD :
composer create-project laravel/laravel:^8.0 laravel-inertia
Perintah di atas kita gunakan untuk menginstall project Laravel baru dengan versi 8.x
dan kita berikan nama project tersebut dengan laravel-inertia
.
CATATAN: minimal versi PHP yang digunakan adalah 7.3
Langkah 2 - Menjalankan Project Laravel
Setelah project berhasil terinstall, maka sekarang kita akan lanjutkan untuk belajar menjalankan project tersebut agar dapat diakses melalui web browser. Silahkan jalan perintah berikut ini di dalam terminal/CMD :
cd laravel-inertia
Perintah cd
di atas digunakan untuk masuk ke dalam sebuah folder dan folder yang akan dituju adalah laravel-inertia
.
Kemudian, untuk memastikan kita sudah berada di dalam folder project, kita bisa jalankan perintah berikut ini di dalam terminal/CMD :
ls
Jika berhasil, maka kurang lebih seperti berikut ini :
Kemudian, untuk menjalankan project Laravel, silahkan jalankan perintah berikut ini di dalam terminal/CMD :
php artisan serve
Jika berhasil, maka project Laravel akan di jalankan di dalam localhost
dengan port 8000
, kita bisa membukanya di browser dengan mengetikkan http://localhost:8000 dan kurang lebih seperti ini hasilnya :
Langkah 3 - Konfigurasi Database
Setelah berhasil menjalankan project Laravel, maka sekarang kita akan lanjutkan belajar bagaimana cara melakukan konfigurasi koneksi database di dalam Laravel.
Silahkan buka project-nya menggunakan Text Editor dan buka file .env
kemudian cari kode berikut ini :
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Dan silahkan ubah menjadi seperti berikut ini :
DB_DATABASE=db_laravel_inertia
DB_USERNAME=root
DB_PASSWORD=
Di atas, untuk DB_DATABASE
merupakan nama database yang akan kita gunakan nanti, dan di atas kita atur dengan nama db_laravel_inertia
.
Kemudian untuk DB_USERNAME
silahkan disesuaikan dengan konfigurasi dari MySQL masing-masing, jika menggunakan XAMPP, maka secara default adalah root
.
Dan untuk DB_PASSWORD
silahkan disesuaikan juga dengan konfigurasi dari MySQL dan jika menggunakan XAMPP, maka defaultnya adalah kosong atau tidak perlu diisi.
Setelah berhasil melakukan konfigurasi koneksi database di dalam project Laravel, maka sekarang kita lanjutkan untuk membuat database-nya melalui PhpMyadmin atau Database manager lainnya.
Silahkan buka PhpMyadmin melalui browser dengan mengetikkan http://localhost/phpmyadmin dan silahkan buat database baru dengan nama db_laravel_inertia
, dimana namanya sesuai dengan yang kita konfigurasi di atas sebelumnya.
Langkah 4 - Membuat Model dan Migration
Sekarang kita akan lanjutkan belajar bagaimana cara membuat Model dan Migration baru di dalam Laravel. Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan pastikan menjalankannya di dalam project Laravel :
php artisan make:model Post -m
Perintah di atas digunakan untuk membuat model baru dengan nama Post
dan diikuti dengan flag -m
yang artinya akan dibuatkan sebuah migration untuk model tersebut. Dan jika perintah di atas berhasil, maka kita akan mendapatkan 2 file baru, yaitu :
-
app/Models/Post.php
-
database/migrations/2021_05_29_015152_create_posts_table.php
Untuk nama file migration akan random sesuai dengan tanggal pembuatannya.
Kita lanjutkan, pertama kita akan lakukan konfigurasi untuk model Post
terlebih dahulu. SIlahkan buka file app/Models/Post.php
kemudian ubah kode-nya menjadi seperti berikut ini :
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
/**
* fillable
*
* @var array
*/
protected $fillable = [
'title', 'content'
];
}
Dari perubahan kode di atas, kita tambahkan sebuah properti baru dengan nama $fillable
, properti tersebut digunakan untuk mengizinkan sebuah attribute agar dapat menyimpan data ke dalam database. Dan di dalam properti tersebut kita berikan dua value, yaitu title
dan juga content
.
Properti $fillable
ini dinamakan dengan Mass Assigment
di dalam Laravel.
Selanjutnya, kita akan menambahkan attribute baru di dalam file migration. Silahkan buka file database/migrations/2021_05_29_015152_create_posts_table.php
dan pada function up
silahkan ubah menjadi seperti berikut ini :
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Di atas, kita menambahkan 2 attribute baru yaitu title
dan content
.
Setelah itu, kita akan menjalankan proses migrasi agar kita mendapatkan table-table baru di dalam database, table-table ini akan digenerate dari file migration yang sudah kita buat di atas.
Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan di dalm project Laravel tentunya :
php artisan migrate
Jika perintah di atas berhasil, maka kita akan mendapatkan table-table baru di dalam database, kurang lebih seperti berikut ini :
Di atas kita bisa lihat ada beberapa table yang berhasil di generate oleh perintah command php artisan migrate
, termasuk table posts
juga.
Sampai disini pembahasan tentang installasi, konfigurasi database dan membuat model beserta migration di dalam project Laravel, di artikel selanjutnya kita akan belajar bagaimana cara installasi dan konfigurasi Inertia.js "server-side" di dalam Laravel.
Terima Kasih