PEMULA: Membuat Sistim Kontrol | Controller di Laravel 11

Baringin
By -
0

 



Pendahuluan

    Dalam konsep pemograman MVC controller adalah kelas PHP yang bertanggung jawab untuk memproses permintaan HTTP dari pengguna dan mengembalikan respons yang sesuai. Controller menyatukan logika aplikasi dan memastikan bahwa permintaan dari pengguna diarahkan dengan benar ke model yang sesuai atau ke tampilan yang tepat.

     Pengembangan aplikasi web dengan yang menggunakan framework Laravel,  konsep  penggunaan dan pemanfaatan fungsi controller ini sangat penting. Sebuah fungsi dalam controller tidak hanya berfungsi untuk mengolah data dan mengembalikan view, tetapi juga dapat digunakan sebagai sumber data untuk fungsi lain, bahkan di controller yang berbeda. Ini memungkinkan kita untuk merancang aplikasi yang lebih modular, efisien, dan mudah di-maintain.

    Untuk memahami tutorial ini pastikan anda sudah memasang laravel. Kita tidak akan membahas bagaimana cara memasang laravel. Jadi silahkan buka VcCode anda dan silahkan buak laravel yang sudah anda pasang tadi.

    Buka terminal VcCode anda dan ketikkan perintah berikut:

    php artisan make:controller BerandaController

    Perintah diatas memberikan perintah untuk laravel agar membuatkan sebuah controller bernama BerandaController dan diletakkan pada folder Controller. Untuk melihatnya silahkan anda buka director  App => http/Controllers. Di dalam folder Controllers terdapat file BerandaController.php yang telah kita buat tadi. Berikut isi dari scriptnya:

 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class BerandaController extends Controller
{
    //
}

 

    Jika anda membuat file secara manual anda dapat mengetikkan file diatas. 

    Sekarang kita buat function baru didalamanya untuk membuak view. Berikut Scriptnya:

 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class BerandaController extends Controller
{
    public function index()
    {
        echo "Selamat Belajar Controller";
    }
}


    Sekarang Masuk anda ke dalam folder Routers dan buka file web.php. Sempurnakan scriptnya seperti berikut:


<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BerandaController; //perintah ini untuk menghubungkan ke Controller

Route::get('/', [BerandaController::class, 'index']);

 

    Selanjutnya jalankan program kita dengan cara mengetikkan perintah berikut di terminal:

        php artisan serve

    Sampai disini  tentu kita sudah dapat menggunakan controller. Namun fungsi controller sendiri  belum terpenuhi. Sebab controller seharusnya mengontrol view atau tampilan halaman web yang ada di dalam folder view. Jadi mari kita lanjut. Silahkan anda ketikkan perintah berikut di terminal:

    php artisan make:view v_beranda

 

<!DOCTYPE html>
<html lang="en">

<head>
    <title>BARINTEK | Controller</title>
</head>

<body>
    <h1>Belajar Laravel Controller</h1>
</body>

</html>    

 

    Selanjutnya rubah BerandaController.php seperti berikut:

 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class BerandaController extends Controller
{
    public function index()
    {
        return view('v_beranda');
    }
}

 

    Nah jalankan kembali projek anda. Apkah halaman beranda sudah dapat di akses?

 

Mengirim data dari Controller

    Pada dasarnya data tidak terdapat di dalam halaman view jadi bagaimana kita dapat mengirim data ke view? Mari kita lanjutkan latihannya. Silahkan anda buka file BerandaController.php tadi dan buatlah script seperti berikut:

.....
public function index()
    {
        $data = [
            'title' => 'Beranda',
            'subTitle' => 'Halaman Beranda'
        ];
        return view('v_beranda', $data);
    }
......

Sedangkan pada script v_beranda.blade.php dapat kita tambah seperti berikut:


........

<body>

    <h1>{{ $title }}</h1>
    <h5>{{ $subTitle }}</h5>
</body>
.........

    Sekarang Jalankan Program. Apa data sudah ditambahkan??


    Mengontrol View

    jika kita sudah memahami tentang sistem kerja dari controller, lalu bagaimana caranya mengontrol view untuk mengirimkan data yang berbeda-beda tergantung jalur di dalam view? Mari kita lanjutkan. Pertama-tama buka terlebih dahulu file web.php dan tambahkan script berikut:

....
Route::get('/', [BerandaController::class, 'index']);
Route::get('/populer', [BerandaController::class, 'populer']);


    Buka file BerandaController.php dan tambahkan function popuer.

....
{
    public function index()
    {
        $data = [
            'title' => 'Beranda',
            'subTitle' => 'Halaman Beranda'
        ];
        return view('v_beranda', $data);
    }

    public function populer()
    {
        $data = [
            'title' => 'Beranda',
            'subTitle' => 'Beranda/Populer'
        ];
        return view('v_beranda', $data);
    }
}

    Sekarang ketikkan perintah berikut di URL anda:

            http://127.0.0.1:8000/populer

    Apakah halaman view sudah berubah sesuai dengan data yang telah di kirim dari controller? Jika ya, Selamat anda sudah berhasil memahami dan mempelajari sistim controller di Laravel.

Post a Comment

0Comments

Post a Comment (0)