Laravel: Single Action Controllers

Dengan memisahkan setiap tindakan ke dalam controller terpisah, kode menjadi lebih terstruktur dan mudah dipelihara.

Fadli Rivansyah
2 min readMay 26, 2024
Photo by Austin Pacheco on Unsplash

Pembahasan kali ini mengenai tentang single action controller. kamu bisa melihat bagaimana cara menerapkan single action controller dan cara mengenerate file dengan php artisan, sebenarnya untuk pemahaman ini sudah ada didokumentasi laravel. kamu bisa mengunjungi sistus resmi laravel tentang single action controller disini.

membuat single action controller dapat dilakukan dengan cara manual maupun dengan cara menggunakan comand line php artisan. single action controller merupakan solusi untuk menerapkan controller yang secara spesifik melakukan tindakan disatu controller atau tindakan yang sifatnya tunggal.

Bang kan sama aja membuat controller berisi tindakan tunggal dengan cara konvensional!!

iya bener, kita bisa menggunakan dengan cara konvensional. tetapi laravel memberikan solusi terbaik adanya single action controllers. sebenarnya cukup banyak manfaat kenapa memakai single action controller ini.

  1. kode mudah untuk dipelihara dan bersih,
  2. mengetahui bahwa controller tersebut menangani tindakan yang tunggal

saran penulis, kamu harus mencoba single action contollers ini. karena bisa saja memudahkanmu dalam membuat projek.

penulis akan memberikan contoh bagaimana cara menggunakan single action controller.

kamu bisa membuat single action controller dengan comand line php artisan. berikut perintahnya.

php artisan make:controller DashboardController --invokable

setelah sudah menjalankan perintah tersebut. maka kamu akan dibuatkan controller yang secara default berada di App\Http\Controllers. kemudian kamu klik filenya akan menampilkan code seperti ini.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DashboardController extends Controller
{
/**
* Handle the incoming request.
*/
public function __invoke(Request $request)
{
//
}
}

untuk mendeklarasikan routing tentu berbeda dengan membuat controller pada biasanya. jika menggunakan single action controller, route tidak menerapkan nama method yang dituju.


<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController;

Route::get('/dashboard', DashboardController::class); //route pada single action controller

jadi untuk menggunakan single action controller dapat dilakukan lebih dari satu sesuai dengan kebutuhan yang diperlukan.

Single action controller merupakan pilihan, apakah tetap menggunakan secara konvesional untuk melakukan tindakan tunggal atau menggunakan single action controller. itu adalah pilihanmu dalam mengembangkan aplikasi terbaikmu..

terimah kasih sudah membaca artikel ini, semoga bermanfaat dan membantu kamu dalam pengetahuan dan mengunakan single action controller pada projekmu :)

--

--