DEV Community

Wahyu Triono
Wahyu Triono

Posted on

Panduan memulai cepat Laravel

Komponen penting Laravel ada 3, yaitu (MVC):

  1. M (Model) Merupakan jembatan antara database dengan controller, model juga dapat berisi relasi antar tabel (misalnya tabel user dengan produk), dan konfigurasi tabel (misalnya kolom apa saja yang boleh diinputkan dan kolom apa saja yang tidak boleh diinputkan)
  2. V (View) Merupakan file yang berisi html untuk menampilkan website nya
  3. Controller Merupakan file yang berisikan logika dari setiap url yang ada, misalnya url domain.com/api/siswa menggunakan controller SiswaController dengan fungsi index, yang berarti logika apa yang akan di tampilkan pada domain.com/siswa akan berada di SiswaController pada fungsi index Route example

Pada Laravel setiap route menggunakan Http Method

Setiap route pada laravel menggunakan http method, seperti Get, Post, Put, atau Delete

  1. GET (Digunakan untuk mengambil/menampilkan data)
  2. POST (Digunakan untuk mengirim/memasukan data)
  3. PUT (Digunakan untuk mengupdate data)
  4. DELETE (Digunakan untuk menghapus data) CRUD

Alur pembuatan endpoint/url pada laravel

Misalnya kita ingin membuat url seperti ini domain.com/api/siswa dan kita ingin menampilkan seluruh data siswa pada endpoint/url tersebut.

  1. Konfigurasi database (Jika menggunakan mongodb, pada note satunya)
  2. Buat Model (untuk mengatur tabel) dan Controller (untuk menyimpan logic pada endpoint/url) terlebih dahulu.
   // membuat model dengan nama siswa dan controller
   // option -c akan membuat controller dengan nama SiswaController
   php artisan make:model Siswa -c

   dan model akan di simpan pada App\Models
Enter fullscreen mode Exit fullscreen mode
  1. Konfigurasi Model agar dapat digunakan Model Configuration
   1. jika menggunakan mongodb, maka harus import
   use MongoDB\Laravel\Eloquent\Model;

   2. lalu atur collection mana yang akan digunakan (jika menggunakan mongodb)
   (collection seperti tabel, jadi nanti model Siswa akan memasukan data ke dalaman collection apa, pada code di atas, model Siswa akan menyimpan data pada collection siswas

   3. Lalu kita pilih kolom mana yang akan kita lindungi (lindungi maksudnya agar user tidak bisa memasukan data pada kolom tersebut) pada code di atas, kolom yang dilindugi adalah kolom _id. Jika kita menggunakan 
   protected $guarded
   berarti user dapat mengisi pada kolom sisanya (misalnya ada kolom _id, nama, kelas, alamat, maka user tidak boleh mengisi kolom _id, dan kolom sisanya (nama, kelas, alamat) itu boleh diisi oleh user)
Enter fullscreen mode Exit fullscreen mode
  1. Setelah itu langkah selanjutnya adalah membuat route, karena kita akan membuat API sehingga kita membuat route pada file routes/api.php
   // Berikut untuk contoh route nya
   Route::get('get-all-siswa-data', [SiswaController::class, 'getAllUserData');
Enter fullscreen mode Exit fullscreen mode

Dengan route tersebut, sehingga nanti akan menghasilkan endpoint/url

   domain.com/api/get-all-siswa-data
Enter fullscreen mode Exit fullscreen mode

Lalu selanjutnya ketika kita mengakses url/endpoint tersebut, maka akan error

   method getAllSiswaData not found
Enter fullscreen mode Exit fullscreen mode

Ini dikarenakan pada controller yang dituju (SiswaController) itu tidak ada fungsi/method getAllSiswaData, selanjutnya kita mencoba membuat fungsi tersebut pada controller

  1. Controller harusnya sudah ikut terbuat pada langkah sebelumnya, sehingga kita bisa membuka controller pada folder
   App\Http\Controllers
Enter fullscreen mode Exit fullscreen mode

Lalu buka SiswaController.php, lalu kita buat fungsi getAllSiswaData, sehingga code nya menjadi seperti berikut
Controller read

Top comments (0)