L O A D I N G
Profile image
  • Name

    Yudana
  • Title

    Website Developer
  • Phone

    -
  • Email

    me@yudana.com
  • Date of birth

    -
  • Age

    -
  • Residence

    Bali
  • Freelance Work

blog banner

Menggunakan Controller Pada Framework Laravel

laravel

Pola Model View Controller adalah pola yang paling sering digunakan untuk membangun aplikasi web di dunia saat ini. Secara teori, pola MVC yang baik harus memperbolehkan front-end developer dan back-end developer untuk bekerja sama dalam suatu sistem yang sama tanpa saling mengganggu, bisa berbagi, atau mengedit file yang sama. Saat ini ada lebih dari selusin framework PHP  berdasarkan pola MVC.

Apa itu Controller?

Hal pertama yang dilakukan oleh Controller adalah mengambil permintaan, memparsing permintaan, menginisialisasi, memanggil model dan kemudian mengambil responnya, dan mengirimkannya ke View.

Berikut ini cara membuat Controller dengan menggunakan Laravel, tutorial ini adalah lanjutan dari yang sebelumnya di sini.

RESTful Resource controller

Seringkali saat membuat aplikasi kita perlu melakukan operasi CRUD (Create, Read, Update, Delete). Laravel membuat pekerjaan ini mudah bagi kita. Hanya dengan membuat controller dan kemudian Laravel otomatis akan menyediakan semua metode untuk operasi CRUD. Anda juga dapat mendaftarkan route tunggal untuk semua metode dalam file routes.php.

Buat controller baru dengan composer

php artisan make:controller Contoh1

Kemudian buka file controller Contoh1.php (C:\xampp\htdocs\laravel\app\Http\Controllers\Contoh1.php). Edit seperti di bawah :

namespace belajarlaravel\Http\Controllers;

use Illuminate\Http\Request;
use belajarlaravel\Http\Requests;
use belajarlaravel\Http\Controllers\Controller;

class Contoh1 extends Controller {

    public function index() {
        echo 'index';
    }

    public function create() {
        echo 'create';
    }

    public function store(Request $request) {
        echo 'store';
    }

    public function show($id) {
        echo 'show';
    }

    public function edit($id) {
        echo 'edit';
    }

    public function update(Request $request, $id) {
        echo 'update';
    }

    public function destroy($id) {
        echo 'destroy';
    }

}

Selanjutnya edit route, routes.php (C:\xampp\htdocs\laravel\app\Http\routes.php). Tambahkan kode berikut :

Route::resource('halaman', 'Contoh1');

Pada prinsipnya route yang didapat seperti tabel ini :

Verb Path Action Route Name
GET /halaman index halaman.index
GET /halaman/create create halaman.create
POST /halaman store halaman.store
GET /halaman/{param} show halaman.show
GET /halaman/{param}/edit edit halaman.edit
PUT /halaman/{param} update halaman.update
DELETE /halaman/{param} destroy halaman.destroy

Kita juga bisa memilih Action apa saja yang bisa digunakan dalam controller, seperti kode di bawah :

Route::resource('halaman', 'Contoh1', [
    'only' => ['index', 'show']
]);

Route::resource('halamanbaru', 'Contoh3', [
    'except' => ['edit', 'create']
]);

Implicit Controller

Implicit Controller memungkinkan Anda untuk menentukan satu route untuk menangani setiap tindakan di controller. Anda dapat mengaturnya dalam file route.php dengan seperti ditunjukkan di bawah ini :

Buat controller baru dengan composer :

php artisan make:controller Contoh2

Edit file controller yang telah dibuat, seperti ini :

<?php

namespace belajarlaravel\Http\Controllers;

use Illuminate\Http\Request;
use belajarlaravel\Http\Requests;
use belajarlaravel\Http\Controllers\Controller;

class Contoh2 extends Controller {

    public function getIndex() {
        // request GET ke index
        echo 'halaman index';
    }

    public function getShow($id) {
        // mengirim request GET ke 'coba/show/{id}'
        echo 'halaman tampil';
    }

    public function postStore() {
        // mengirim request ke POST 'coba/store'
        echo 'mengirim variable post';
    }

}

Tambahkan kode di bawah pada routes.php

Route::controller('coba', 'Contoh2');

Anda bisa mencobanya keduanya dengan membuka halaman di web browser dengan format : {localhost}/{nama route}/{action}.

Misalnya : http://www.laravel.local/coba/show/1

Untuk tutorial membuat virtual host di Windows, silakan klik di sini.

Klik di sini untuk tutorial Laravel lainnya.

 

Tinggalkan Balasan ke yudana Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *