–
Category: Laravel
-

Membuat Controller di Laravel 11
Pada artikel ini kita akan membahas cara membuat controller di laravel 11 secara praktis, dari persiapan lingkungan hingga implementasi praktis dan best practice. Laravel sebagai framework PHP modern memudahkan pengelolaan arsitektur aplikasi dengan konsep controller, routing, dan dependency injection. Dalam konteks proyek nyata, memahami cara membangun controller yang bersih, terstruktur, dan maintainable adalah pondasi utama. Panduan ini dirancang untuk pemula hingga developer berpengalaman, dengan contoh kode yang bisa langsung dicoba di lingkungan lokal. Kami juga akan membahas bagaimana menjaga kode tetap scalable, mudah dites, dan mudah dipelihara seiring bertambahnya kompleksitas proyek. Kami menekankan bahwa praktik yang tepat saat membuat controller di laravel 11 akan mempercepat pengembangan, mengurangi bug, serta meningkatkan kemudahan kolaborasi antar tim.
Persiapan Lingkungan Laravel 11
Untuk memulai, pastikan lingkungan pengembangan sudah siap. Anda memerlukan PHP >= 8.1, Composer, dan Laravel 11. Instalasi bisa dilakukan melalui Composer create-project atau laravel/installer. Pastikan ekstensi yang diperlukan seperti PDO, BCMath, OpenSSL tersedia. Setelah itu, buat project baru:
composer create-project laravel/laravel blog-laravel11 "11.x"Langkah ini menyiapkan fondasi MVC standar, sehingga Anda bisa mulai membangun membuat controller di laravel 11 dengan perintah Artisan. Bila Anda membutuhkan referensi langkah demi langkah, lihat Layanan Arrazy Inovasi untuk solusi terkait pengembangan web.
Selain itu, sebaiknya Anda merujuk juga pada Dokumentasi Laravel Resmi dan Dokumentasi PHP untuk memahami opsi konfigurasi serta best practice penerapan arsitektur pada proyek nyata.
Membuat Controller Pertama dengan Artisan
Setelah proyek siap, langkah selanjutnya adalah membuat controller pertama. Gunakan Artisan untuk meng-generate controller secara cepat:
php artisan make:controller HelloWorldControllerUntuk sebuah API atau halaman berita, Anda juga bisa membuat membuat controller di laravel 11 dengan opsi resource:
php artisan make:controller ArticleController --resourceBerikut contoh struktur dasar controller yang bisa Anda adaptasi:
namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class HelloWorldController extends Controller { public function index() { return view('hello.index'); } }Pelajari bagaimana alur request menuju controller bisa divalidasi sederhana dengan Request type hinting, sehingga membuat controller di laravel 11 menjadi lebih elegan dan mudah di-test. Untuk referensi praktis, kunjungi Layanan Arrazy Inovasi.
Routing dan Pemanfaatan Controller
Setelah controller dibuat, ikuti langkah berikut untuk menghubungkannya dengan routing. Untuk halaman biasa:
// routes/web.php use App\Http\Controllers\HelloWorldController; Route::get('/hello', [HelloWorldController::class, 'index']);Untuk struktur CRUD dengan resource controller:
Route::resource('articles', ArticleController::class);Dengan routing yang terdefinisi, membuat controller di laravel 11 akan segera bisa diakses melalui URL. Jika Anda ingin solusi end-to-end, lihat Layanan Arrazy Inovasi Teknologi.
Resource Controller untuk CRUD
Resource controller memudahkan implementasi operasi Create, Read, Update, Delete. Dengan satu deklarasi, Laravel akan mengerti semua rute konvensional. Berikut contoh metode inti yang umum dipakai:
public function index() { ... } public function show($id) { ... } public function store(Request $request) { ... } public function update(Request $request, $id) { ... } public function destroy($id) { ... }Contoh Struktur File Controller
Berikut contoh file Controller lengkap untuk Article dengan beberapa metode:
namespace App\\Http\\Controllers; use App\\Http\\Controllers\\Controller; use Illuminate\\Http\\Request; use App\\Models\\Article; class ArticleController extends Controller { public function index() { $articles = Article::all(); return view('articles.index', compact('articles')); } public function create() { return view('articles.create'); } public function store(Request $request) { $data = $request->validate(['title' => 'required|string', 'content' => 'required']); Article::create($data); return redirect()->route('articles.index'); } public function show(Article $article) { return view('articles.show', compact('article')); } public function edit(Article $article) { return view('articles.edit', compact('article')); } public function update(Request $request, Article $article) { $data = $request->validate(['title' => 'required|string', 'content' => 'required']); $article->update($data); return redirect()->route('articles.index'); } public function destroy(Article $article) { $article->delete(); return redirect()->route('articles.index'); } }Dengan struktur seperti ini, membuat controller di laravel 11 tidak lagi menjadi pekerjaan yang menakutkan. Untuk mengecek integrasi dengan view dan model, bagian berikutnya akan membantu Anda memahami pola penggunaan view dan dependency injection.
Integrasi dengan View dan Dependency Injection
Controller di Laravel biasanya bekerja bersama View (Blade) dan model. Anda bisa mengembalikan data ke view dengan compact, atau menggunakan resource responses untuk API. Dependency Injection memudahkan pengambilan layanan (misalnya repository) tanpa membuat instance secara manual. Contoh sederhana:
public function index() { $items = Item::all(); return view('items.index', compact('items')); }Menyiapkan layanan khusus dapat dilakukan melalui constructor injection, sehingga logika bisnis tidak tertumpuk di controller. Jika Anda ingin solusi end-to-end, telusuri lebih lanjut di Layanan Arrazy Inovasi untuk memahami bagaimana arsitektur layanan dapat meningkatkan kualitas proyek Anda.
Praktik Terbaik dan Keamanan
Beberapa praktik terbaik saat membuat controller di laravel 11 meliputi:
– Memisahkan logika presentasi dari logika bisnis dengan menggunakan service class atau repository.
– Menggunakan Form Request untuk validasi agar controller tetap bersih.
– Mengunci akses dengan middleware sesuai kebutuhan (auth, role-based access, dll).
– Menjaga ukuran controller tetap kecil dengan membagi fungsi ke dalam kelas yang jelas.
– Menambahkan komentar yang relevan dan dokumentasi singkat di tiap metode penting. Pelajari bagaimana Laravel menangani request lifecycle melalui Dokumentasi Laravel Resmi untuk pemahaman yang lebih dalam.
Kalau Anda butuh dukungan implementasi nyata, Layanan Arrazy Inovasi siap membantu Anda—mulai dari pengembangan website hingga solusi integrasi ERP berbasis Laravel.
Di tengah tutorial ini, Anda juga bisa meninjau beberapa layanan utama yang relevan, seperti Jasa Pembuatan Website, Jasa Pembuatan Aplikasi Mobile, Jasa SEO, Jasa Pembuatan Chatbot, dan Jasa Website Sekolah untuk kebutuhan edukasi digital Anda.
Selain itu, untuk memperkaya referensi teknis Anda, lihat juga dokumentasi terbaru pada Dokumentasi PHP dan Dokumentasi Laravel Resmi sebagai pedoman standar industri.
Penutup yang Menginspirasi
Dengan memahami cara membuat controller di laravel 11 melalui pendekatan yang terstruktur, Anda akan lebih percaya diri mengelola proyek Laravel berukuran kecil maupun besar. Kunci utamanya adalah memulai dari konsep sederhana, lalu secara bertahap menambah kompleksitas dengan pola desain yang telah teruji. Jika Anda ingin mempercepat waktu implementasi, Layanan Arrazy Inovasi siap membantu Anda menyusun arsitektur aplikasi yang kuat bersama tim ahli kami.
Terima kasih telah mengikuti panduan ini. Semoga langkah demi langkah dalam tutorial ini membantu Anda memahami bagaimana membuat controller di laravel 11 secara praktis dan profesional. Jangan ragu untuk menjangkau tim kami untuk bantuan lebih lanjut.
-

Invokable Controller di Laravel: Cara Kerja, Contoh Kode, dan Kapan Memakainya
Ada satu fitur Laravel yang sering dilewatkan developer pemula: invokable controller. Padahal kalau dipakai di tempat yang tepat, kode jadi lebih bersih dan lebih mudah dibaca.
Artikel ini menjelaskan apa itu invokable controller, kapan sebaiknya dipakai, dan bagaimana cara implementasinya di Laravel 12.
Apa Itu Invokable Controller?
Invokable controller adalah controller yang hanya punya satu method:
__invoke(). Karena hanya ada satu aksi, Anda tidak perlu menyebutkan nama method saat mendaftarkan route.Ini berbeda dengan controller biasa yang bisa punya banyak method seperti
index(),store(),update(), dll.Buat invokable controller lewat Artisan:
php artisan make:controller ShowDashboardController --invokableHasilnya:
<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ShowDashboardController extends Controller { public function __invoke(Request $request) { // } }Cara Mendaftarkan ke Route
Karena hanya ada satu aksi, cara daftarkan ke route cukup langsung pakai nama class-nya:
use AppHttpControllersShowDashboardController; Route::get('/dashboard', ShowDashboardController::class);Bandingkan dengan controller biasa yang harus sebut method-nya:
Route::get('/dashboard', [DashboardController::class, 'index']);Lebih ringkas, dan route-nya lebih mudah dibaca, terutama kalau ada banyak route.
Contoh Kasus Nyata
Misalnya Anda punya halaman yang menampilkan laporan bulanan. Logikanya spesifik untuk satu tujuan, tidak perlu dibagi ke beberapa method:
<?php namespace AppHttpControllersReports; use IlluminateHttpRequest; use AppHttpControllersController; use AppModelsOrder; class MonthlyReportController extends Controller { public function __invoke(Request $request) { $month = $request->query('month', now()->month); $year = $request->query('year', now()->year); $orders = Order::whereMonth('created_at', $month) ->whereYear('created_at', $year) ->with('customer') ->get(); return view('reports.monthly', compact('orders', 'month', 'year')); } }Route-nya:
Route::get('/reports/monthly', MonthlyReportController::class) ->middleware('auth') ->name('reports.monthly');Rapi. Satu controller, satu tujuan.
Kapan Pakai Invokable Controller?
Invokable controller cocok untuk:
- Halaman yang hanya punya satu aksi (tampil laporan, proses webhook, generate PDF)
- Action handler — satu action spesifik yang tidak perlu dibundel dengan aksi lain
- Single-purpose endpoint yang ingin dipisah dari controller utama agar tidak membesar
Tidak cocok untuk resource yang punya banyak aksi CRUD. Untuk itu tetap pakai resource controller biasa.
Dependency Injection di Invokable Controller
Sama seperti controller biasa, Anda bisa inject service lewat constructor atau langsung di method
__invoke():<?php namespace AppHttpControllers; use AppServicesInvoiceService; use IlluminateHttpRequest; class GenerateInvoiceController extends Controller { public function __construct( private InvoiceService $invoiceService ) {} public function __invoke(Request $request) { $validated = $request->validate([ 'order_id' => 'required|exists:orders,id', ]); $pdf = $this->invoiceService->generate($validated['order_id']); return response()->download($pdf); } }Baca Juga
- Membuat Controller di Laravel 12: Resource, Middleware, dan Best Practice
- Routing di Laravel: Panduan Lengkap dengan Contoh Kode
Kalau Anda butuh tim untuk membangun aplikasi web berbasis Laravel, dari arsitektur sampai deployment — lihat layanan pengembangan aplikasi kami.
-

Cara Install Laravel 12: Panduan Lengkap dari Instalasi sampai Project Jalan
Kamu baru mau mulai belajar Laravel 12 atau mau memulai project baru? Artikel ini memandu instalasi dari nol, mulai dari kebutuhan sistem, instalasi Laravel, sampai project pertama bisa jalan di browser.
Tidak ada yang dilewati. Setiap perintah dijelaskan kenapa dijalankan, bukan sekadar disalin.
Kebutuhan Sistem Sebelum Mulai
Pastikan versi PHP dan tools berikut sudah terpasang:
- PHP 8.2 atau lebih baru — Laravel 12 butuh minimal PHP 8.2
- Composer — package manager PHP, download di getcomposer.org
- Node.js + npm — untuk kompilasi asset frontend (Vite)
- Database — MySQL, PostgreSQL, atau SQLite
Cek versi PHP kamu:
php --version # Harus menampilkan: PHP 8.2.x atau lebih baruInstalasi Laravel 12 via Composer
Ada dua cara: lewat Laravel Installer atau langsung via Composer. Cara kedua lebih universal:
composer create-project laravel/laravel nama-project "12.*" cd nama-projectKalau mau pakai Laravel Installer (lebih cepat untuk project berikutnya):
# Install Laravel Installer sekali saja composer global require laravel/installer # Buat project baru laravel new nama-project --using=laravel/12.xKonfigurasi File .env
Setelah project dibuat, buka file
.envdi root project. Ini konfigurasi yang perlu diubah minimal:APP_NAME=NamaAppKamu APP_ENV=local APP_KEY= # Akan diisi otomatis APP_DEBUG=true APP_URL=http://localhost DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database DB_USERNAME=root DB_PASSWORD=***Generate application key: wajib dilakukan sekali saat setup:
php artisan key:generatePerintah ini mengisi nilai
APP_KEYdi file.envsecara otomatis. Key ini dipakai Laravel untuk enkripsi session dan cookie.Menjalankan Migration
Laravel sudah menyertakan beberapa migration default (tabel users, sessions, cache, jobs). Jalankan semuanya sekaligus:
php artisan migrateKalau muncul error koneksi database, pastikan database yang kamu tulis di
.envsudah dibuat terlebih dahulu:# Di MySQL CREATE DATABASE nama_database;Jalankan Development Server
Laravel punya built-in development server lewat Artisan:
php artisan serve # Akses di: http://127.0.0.1:8000Atau kalau kamu pakai Vite untuk frontend (default di Laravel 12), jalankan keduanya di terminal berbeda:
# Terminal 1 php artisan serve # Terminal 2 npm install npm run devStruktur Folder yang Perlu Kamu Kenali
Tidak perlu hafal semua folder sekaligus. Ini yang paling sering dipakai:
app/ Http/ Controllers/ ← semua controller ada di sini Middleware/ ← middleware request Models/ ← Eloquent models config/ ← konfigurasi aplikasi database/ migrations/ ← file migration tabel routes/ web.php ← route untuk halaman web api.php ← route untuk API resources/ views/ ← file Blade (template HTML)Verifikasi Instalasi Berhasil
Buka
http://127.0.0.1:8000di browser. Kalau muncul halaman welcome Laravel dengan versi Laravel 12, instalasi berhasil.Cek juga via Artisan:
php artisan --version # Laravel Framework 12.x.xLangkah Berikutnya
Setelah instalasi selesai, langkah selanjutnya:
- Pelajari cara kerja routing: Routing di Laravel: Panduan Lengkap
- Buat controller pertama: Membuat Controller di Laravel 12
- Pahami migration: Migration di Laravel: Cara Kerja dan Semua Command
Kalau kamu sedang membangun project Laravel untuk client atau kebutuhan bisnis dan butuh tim yang berpengalaman, lihat layanan pengembangan aplikasi kami.
Baca Juga
-

Cara Install Laravel 11 untuk Pemula: Composer, Setup & Error Umum
Cara install Laravel 11 termasuk topik yang paling banyak dicari oleh developer PHP yang baru mulai belajar framework modern. Laravel 11, yang dirilis resmi pada Maret 2024, membawa beberapa perubahan struktural signifikan dibanding versi sebelumnya — terutama penghapusan beberapa file konfigurasi default dan penyederhanaan direktori
app/. Panduan ini dirancang khusus untuk pemula yang baru pertama kali menginstal Laravel, maupun developer berpengalaman yang ingin memahami apa yang berubah dari Laravel 10 ke Laravel 11.Sebelum mulai, pastikan Anda sudah memiliki PHP 8.2+ dan Composer terinstal. Jika belum, panduan ini juga mencakup langkah persiapan tersebut.
Kebutuhan Sistem untuk Laravel 11
Sebelum mulai, pastikan lingkungan development Anda memenuhi persyaratan minimum. Minimal PHP 8.1 ke atas diperlukan untuk menjalankan Laravel 11, disertai ekstensi PHP yang umum seperti OpenSSL, PDO, BCMath, JSON, dan mbstring. Sistem operasi bisa Linux, macOS, atau Windows (melalui WSL jika Anda menggunakan Windows). Selain itu, pastikan Anda memiliki akses internet stabil karena proses instalasi akan mengambil dependensi lewat Composer. Untuk referensi resmi tentang kebutuhan lingkungan, baca Dokumentasi Resmi Laravel 11.
Perangkat Lunak yang Diperlukan
Langkah berikutnya adalah memastikan Composer terinstal dengan benar, karena Laravel 11 dibangun di atas ekosistem PHP yang memanfaatkan Composer untuk manajemen dependensi. Selain itu, Node.js direkomendasikan jika Anda ingin mengelola assets front-end dengan alat seperti Vite.
Cara Install Laravel 11
1. Install PHP dan Ekstensi yang Diperlukan
Pastikan PHP telah terpasang pada sistem Anda. Anda bisa memeriksa versi PHP dengan perintah berikut:
php -vPastikan setidaknya PHP 8.1 terpasang. Jika belum, instal versi terbaru sesuai sistem operasi Anda dan pastikan ekstensi penting seperti OpenSSL, PDO, dan mbstring telah aktif di php.ini.
2. Install Composer
Composer adalah package manager PHP yang wajib ada sebelum menginstal Laravel. Download dan install dari getcomposer.org, lalu verifikasi dengan:
composer --version3. Buat Project Laravel 11 via Composer
Setelah PHP dan Composer siap, jalankan perintah berikut untuk membuat project Laravel 11 baru:
composer create-project --prefer-dist laravel/laravel nama-project "11.*"Atau, jika ingin menggunakan Laravel installer:
composer global require laravel/installer laravel new nama-projectProses ini akan mengunduh Laravel 11 beserta semua dependensinya. Tunggu hingga selesai.
4. Generate Application Key
Masuk ke direktori project dan generate APP_KEY:
cd nama-project php artisan key:generateApa yang Berubah di Laravel 11 Dibanding Laravel 10
Laravel 11 membawa perubahan struktural yang cukup signifikan:
- Direktori
app/lebih ramping — banyak file provider dan middleware yang sebelumnya ada di sini dipindahkan atau dihapus - Tidak ada
app/Http/Kernel.php— middleware sekarang di-register viabootstrap/app.php - Service Provider lebih sedikit — hanya
AppServiceProvideryang tersisa secara default - File konfigurasi banyak dihilangkan dari root — dipindahkan ke dalam framework itu sendiri
- Dukungan SQLite bawaan — database default berubah ke SQLite untuk kemudahan development lokal
Setup Awal Setelah Instalasi
Konfigurasi File .env
Salin file contoh .env untuk membuat konfigurasi lingkungan lokal:
cp .env.example .envSelanjutnya, sesuaikan pengaturan database dan aplikasi Anda. Contoh pengaturan untuk MySQL:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database DB_USERNAME=user_database DB_PASSWORD=password_databaseJalankan Migrasi Database
php artisan migrateJalankan Development Server
Untuk melihat proyek Laravel 11 Anda secara langsung, jalankan development server:
php artisan serveServer akan berjalan di
http://localhost:8000. Buka di browser untuk memastikan instalasi berhasil.Upgrade ke Laravel 12?
Jika Anda sudah menguasai Laravel 11 dan ingin bermigrasi ke Laravel 12, prosesnya relatif mulus karena kedua versi berbagi arsitektur yang sama. Baca panduan resmi di Laravel Upgrade Guide untuk langkah-langkah detail.
Troubleshooting: Error Umum Saat Install Laravel 11
Error: PHP version mismatch
Jika muncul error “Your PHP version does not satisfy the requirements”, pastikan PHP Anda minimal versi 8.1. Cek dengan
php -vdan upgrade jika perlu.Error: php artisan not found / command not found
Pastikan Anda sudah masuk ke direktori project (
cd nama-project) sebelum menjalankan perintahphp artisan.Error: Composer require timeout
Jika proses
composer create-projectgagal karena timeout, coba tambahkan flag--prefer-distatau gunakan mirror Packagist yang lebih dekat. Anda juga bisa meningkatkan timeout Composer:composer config --global process-timeout 600Error: 500 Internal Server Error setelah install
Kemungkinan penyebab: file
.envbelum di-copy dari.env.example, atau APP_KEY belum di-generate. Jalankan:cp .env.example .env php artisan key:generateError: Permission denied pada folder storage
Laravel membutuhkan akses tulis pada folder
storage/danbootstrap/cache/. Jalankan:chmod -R 775 storage bootstrap/cacheFAQ: Pertanyaan Umum tentang Instalasi Laravel 11
Apakah Laravel 11 bisa diinstall di Windows?
Bisa, tapi direkomendasikan menggunakan WSL (Windows Subsystem for Linux) untuk pengalaman development yang lebih mulus. Anda bisa menggunakan XAMPP atau Laragon sebagai alternatif jika tidak ingin menggunakan WSL.
Apa perbedaan
composer create-projectdan Laravel installer?composer create-projectmengunduh Laravel langsung dari Packagist — cocok untuk semua lingkungan. Laravel installer (laravel new) adalah shortcut resmi yang lebih cepat dan mendukung opsi starter kits. Keduanya menghasilkan project yang identik.Bagaimana cara download Laravel 11 tanpa Composer?
Composer adalah cara resmi dan yang direkomendasikan. Jika tidak memiliki Composer, Anda bisa mengunduh zip source dari GitHub Laravel Releases, tapi Anda tetap perlu menjalankan
composer installsetelahnya untuk mengunduh dependensinya.Berapa besar ukuran project Laravel 11 setelah install?
Project dasar Laravel 11 setelah
composer installbiasanya berukuran sekitar 30–50MB termasuk foldervendor/. Tanpa folder vendor (untuk deploy via Composer), ukurannya jauh lebih kecil.Apakah Laravel 11 membutuhkan Node.js?
Node.js tidak wajib untuk menjalankan Laravel, tapi dibutuhkan jika Anda ingin menggunakan Vite untuk kompilasi asset frontend. Untuk aplikasi tanpa frontend build process, Node.js bisa diabaikan.
Ingin Langsung Membangun Aplikasi Web?
Memahami cara install Laravel 11 adalah langkah awal yang baik. Tapi membangun aplikasi web yang siap dipakai di production — lengkap dengan database, autentikasi, dashboard, dan deployment — membutuhkan pengalaman lebih. Jika Anda memiliki ide aplikasi atau website yang ingin diwujudkan, tim Arrazy Inovasi siap membantu membangun website profesional yang terstruktur dan scalable.
Konsultasikan kebutuhan Anda terlebih dahulu — tidak ada biaya untuk diskusi awal. Hubungi kami di sini.
- Direktori