Home Web Laravel Model-View-Controller pada Laravel

Model-View-Controller pada Laravel

0
Model-View-Controller pada Laravel

Laravel adalah kerangka kerja aplikasi web yang menggunakan pola arsitektur Model-View-Controller (MVC). MVC adalah pola desain yang memisahkan aplikasi menjadi tiga komponen interaktif: Model, View, dan Controller. Tujuan utamanya adalah untuk memisahkan representasi internal informasi dari cara informasi tersebut disajikan kepada atau diterima dari pengguna.

Model

Model dalam Laravel bertanggung jawab untuk semua aturan bisnis dan logika database. Ini adalah bagian dari aplikasi yang berinteraksi dengan database dan biasanya berisi fungsi seperti save()update()delete(), dan lainnya. Model Laravel juga dapat digunakan untuk mendefinisikan hubungan antara tabel database, seperti hasOne()hasMany()belongsTo(), dan belongsToMany().

Misalnya, jika memiliki tabel users dan orders dalam database, dan setiap pengguna dapat memiliki banyak pesanan, mungkin memiliki model User dan Order dalam aplikasi Laravel. Model User mungkin memiliki metode orders() yang mendefinisikan hubungan ini

public function orders()
{
    return $this->hasMany(Order::class);
}

View

View adalah bagian dari aplikasi yang bertanggung jawab untuk menampilkan data kepada pengguna. Dalam Laravel, view biasanya berisi HTML dan dapat menyertakan PHP. Laravel menggunakan sistem templating Blade yang memungkinkan Anda untuk membuat layout dan blok kode yang dapat digunakan kembali.

Misalnya, mungkin memiliki view orders.index yang menampilkan daftar semua pesanan pengguna. View ini mungkin menggunakan loop Blade untuk mengulangi setiap pesanan dan menampilkan detailnya.

@foreach ($orders as $order)
    <p>{{ $order->name }}</p>
@endforeach

Controller

Controller adalah bagian dari aplikasi yang menangani logika aplikasi. Controller menerima input dari pengguna melalui HTTP request, memprosesnya (seringkali dengan bantuan Model), dan kemudian mengirim output ke pengguna melalui View. Dalam Laravel, controller biasanya berisi metode yang sesuai dengan rute aplikasi.

Misalnya, mungkin memiliki OrderController dengan metode index() yang mengambil semua pesanan pengguna dan melemparkannya ke view orders.index.

public function index()
{
$orders = auth()->user()->orders;

return view(‘orders.index’, [‘orders’ => $orders]);
}

Pola MVC dalam Laravel membantu memisahkan logika aplikasi, membuat kode lebih mudah dipahami dan dikelola. Dengan memisahkan aplikasi menjadi Model, View, dan Controller, Laravel memungkinkan pengembang untuk bekerja secara efisien pada komponen yang berbeda dari aplikasi tanpa mengganggu yang lain.