Hai, Sobat Jagoan! Laravel merupakan framework aplikasi web berbasis PHP yang terkenal dengan sintaks yang rapi, mudah dibaca, dan memiliki struktur pengembangan modern. Salah satu keunggulan Laravel adalah menggunakan arsitektur MVC (Model-View-Controller). MVC adalah sebuah model aplikasi yang memisahkan antara logika aplikas, tampilan, dan data secara jelas.
Komponen utama MVC ada 3 yaitu, Model, View, dan Controller. Setiap komponen ini memiliki peran dan tugas yang unik dalam mendukung pengembangan aplikasi, yuk simak pembahasannya di bawah ini Sob!
Penjelasan Konsep MVC
Laravel menggunakan pola MVC (Model-View-Controller) yang terdiri dari:
- Model
Dalam konsep MVC, model adalah elemen yang terkait dengan database dan interaksi data. Model merepresentasikan tabel dalam database, sehingga kalau ingin melakukan perubahan pada data kamu tidak perlu mengubah melalui database langsung. Model akan menentukan jenis data yang harus ada dalam aplikasi dan jika ada perubahan, model akan memberi tahu controller dan tampilan. Di Laravel, file model berada di direktori app/Models.
- View
View adalah komponen yang terkait dengan tampilan pengguna dan mengelola logika presentasi dalam aplikasi web. View menentukan bagaimana data yang diterima akan ditampilkan kepada pengguna. View Laravel biasanya ditulis dengan template Blade (.blade.php) yang tersimpan di folder resources/views.
- Controller
Controller adalah komponen yang berisi logika untuk memperbarui tampilan atau model sebagai respon terhadap tindakan pengguna dalam aplikasi. Tugas controller meliputi: menyediakan variabel yang akan ditampilkan dalam view, menangani error, menjalankan berbagai proses logika aplikasi, dan melakukan validasi untuk mengakses basis data. Jadi, controller di Laravel untuk menghubungkan model dan view, serta menangani logika aplikasi. File controller ada di app/Http/Controllers.
Cara Kerja MVC
Setelah memahami konsep dasar MVC, selanjutnya adalah memahami cara kerjanya supaya kamu bisa memanfaatkannya secara optimal. Berikut penjelasannya:
- Komponen View menampilkan User Interface (UI)
Ketika kamu menjalankan aplikasi PHP MVC, tampilan antarmuka pengguna akan ditampilkan. Tahap ini menjadi penentu seberapa baik respon dari pengguna terhadap aplikasi yang kamu buat. Ketika pengguna melalukan permintaaan pada aplikasi, view akan menangkap permintaan tersebut dan meneruskannya ke controller. Setelah itu, controller menerima permintaan dari view.
- Controller memberikan instruksi ke Model
Selanjutnya, kalau view memerlukan mengambil informasi database maka akan diteruskan ke komponen model tapi kalau tidak, controller akan mengembalikan permintaan langsung ke view. Controller memberikan instruksi langsung kepada model untuk menyiapkan informasi yang berkaitan dengan tampilan. Cara kerja MVC akan membantu mengumpulkan informasi yang diperlukan sebelum mengirimkannya kembali ke controller.
- Model memberikan hasil pengolahan informasi di database
Karena model mewakilkan interaksi dengan database, maka setelah mengambil informasi dari database, model akan menyerahkan hasil ke controller (bukan langsung ke view). Kemudian, view akan menggunakan data yang diterima controller untuk menampilkan kepada pengguna. Ketika mengelola informasi, model tidak bekerja sendiri, tapi akan mengandalkan logika pemrograman untuk mempercepat proses pengolahan data.
Nah, Laravel merupakan salah satu framework berbasis MVC yang populer untuk pengembangan aplikasi web modern dan telah menjadi pilihan favorit bagi banyak pengembang karena fitur-fiturnya yang kuat, kemudahan penggunaa, serta komunitas yang besar dan aktif.
Mengenal Framework Laravel
Sebelum masuk ke cara menjalankan Laravel di hosting seperti cPanel atau VPS, Yuk kenali dulu konsep utama Laravel dan kenapa penggunaannya sedikit berbeda dibanding aplikasi PHP biasa.
Konsep-Konsep Utama Laravel
- MVC: Laravel memisahkan aplikasi web menjadi 3 komponen utama yaitu Model, View, dan Controller. Ini membantu dalam mengorganisasikan kode, logika, dan memudahkan pemeliharaan.
- Routing: Laravel memungkinkan kamu mendefinisikan rute URL dan mengarahkannya ke metode di dalam controller.
- Controller: Bagian ini mengatur logika bisnis aplikasi kamu.
- Model: Model mewakili entitas dalam aplikasi dan digunakan untuk berinteraksi dengan database. Laravel mendukung Eloquent, ORM yang kuat untuk mengelola data dengan mudah.
- View: Mengatur tampilan antarmuka yang dilihat oleh pengguna.
- Blade Template: Blade merupakan mesin template yang memungkinkan membuat tampilan dengan mudah, dinamis dan menampilkan data dengan jelas.
- Middleware: Bagian ini digunakan untuk memproses permintaan HTTP sebelum mencapai controller. Kamu bisa menggunakan middleware untuk menambahkan lapisan keamanan, otentikasi, dan otorisasi.
- Basis Data dan Eloquent: Laravel mendukung berbagai jenis basis data dan menyediakan alat yang kuat untuk berinteraksi dengan basis data. Eloquent membuat pekerjaan dengan basis data menjadi lebih mudah dengan model berorientasi objek.
- Autentikasi dan Otorisasi: Laravel menyediakan sistem otentikasi dan otorisasi yang sudah siap pakai untuk mengelola akses pengguna ke berbagai bagian aplikasi kamu.
- Sistem Notifikasi: Kamu dapat dengan mudah mengirim email dan notifikasi ke pengguna dengan sistem notifikasi Laravel.
- Komunitas dan Dokumentasi: Laravel memiliki komunitas yang besar, aktif, dan sumber daya yang kaya. Dokumentasi resmi Laravel sangat baik dan banyak tutorial dan paket sumber terbuka yang tersedia.
Struktur Dasar Laravel
Setelah instalasi, proyek Laravel memiliki struktur direktori seperti ini:
project-laravel/
├── app/ # Logic aplikasi
├── public/ # Folder yang bisa diakses browser
├── resources/ # View (Blade template)
├── routes/ # File route (web.php)
├── storage/ # File upload & cache
├── .env # Konfigurasi environment (tidak dipublikasi)
└── artisan # Command-line tool Laravel
Catatan: Di Laravel, file yang bisa diakses browser hanya yang berada di dalam folder public/, bukan dari root project.
Kenapa Laravel di Hosting Sedikit Berbeda
Laravel memiliki struktur proyek dan cara kerja yang lebih kompleks dan terstruktur dibandingkan aplikasi PHP konvensional. Karena itu, saat kamu mengunggah Laravel ke hosting, ada beberapa hal penting yang membuatnya tidak bisa langsung dibuka begitu saja seperti index.php biasa.
Berikut alasannya:
- Laravel menggunakan folder public/ sebagai entry point. Berbeda dengan PHP biasa yang langsung meletakkan file index.php di folder public_html atau direktori root. Jadi, kamu harus memindahkan isi folder public/ ke dalam public_html atau direktori root supaya aplikasi Laravel kamu tidak memunculkan error.
- Laravel menggunakan sistem autoloading via Composer. File public/index.php Laravel akan memuat semua dependensi aplikasi. Misalnya melalui baris berikut: require __DIR__.’/../vendor/autoload.php’;
Ini berarti Laravel wajib memiliki foldervendor/
yang berisi semua dependensi dari Composer. Jika folder ini hilang atau path-nya berubah karena struktur tidak sesuai, maka aplikasi akan gagal dijalankan dan muncul error seperti “failed to open stream…”.
Autoloading ini juga yang membuat Laravel bisa menjalankan controller, middleware, dan model secara otomatis sesuai kebutuhan. - Aplikasi Laravel memerlukan dependensi tambahan setelah menginstal composer, membutuhkan folder tertentu (seperti storage/, bootstrap/cache/) memiliki permission write
Laravel adalah pilihan yang kuat untuk pengembangan aplikasi web modern dan dapat digunakan untuk berbagai jenis proyek, mulai dari aplikasi sederhana hingga proyek yang lebih kompleks. Dokumentasi resmi mengenai Laravel klik pada Laravel Documentation.
Laravel adalah framework modern yang kaya fitur, tapi juga membutuhkan lingkungan hosting yang sesuai spesifikasi teknis tertentu. Jika spesifikasi server terlalu rendah, performa Laravel akan melambat, muncul error tak terduga, atau bahkan gagal dijalankan.
Sebelum kamu melakukan deploy, pastikan hosting kamu memenuhi spesifikasi minimum berikut ini:
Minimal Spesifikasi Hosting Untuk Laravel
- Minimal PHP 8.1 (untuk Laravel 10) atau lebih tinggi
- Ekstensi yang harus aktif: mbstring, openssl, pdo, tokenizer, xml, dll.
- Dukungan composer untuk mengelola dependensi, menjalankan artisan
- Minimal RAM 512 MB (1GB untuk performa lebih stabil), CPU 1 core, dan storage minimal 1GB
Nah, kalau kamu masih bingung atau belum punya hosting yang sesuai, tenang aja Sob! Jagoan Hosting hadir dengan berbagai pilihan layanan yang cocok untuk mendeploy proyek Laravel. Composer sudah tersedia di semua paket, jadi kamu bisa dengan mudah mengelola dependensi, menjalankan perintah Artisan, dan melakukan update aplikasi tanpa ribet. Nggak perlu khawatir soal kompatibilitas, versi PHP selalu up-to-date, dan semua ekstensi penting Laravel sudah aktif sejak awal.
Menggunakan Laravel di Hosting
Untuk menggunakan Laravel di hosting, kamu perlu memahami hal-hal dasar yang berkaitan dengan konfigurasi file. Banyak pengguna baru bingung saat upload Laravel ke hosting, tapi ketika langsung membuka domain malah muncul error atau tampilan tidak sesuai. Ini wajar, karena Laravel memiliki struktur dan cara kerja berbeda dari aplikasi PHP biasa.
Berikut beberapa hal penting yang perlu kamu perhatikan sebelum Laravel bisa dijalankan dengan baik di hosting:
- File public/ dan Direktori Root Hosting
Pada Laravel, browser akan mengakses file di dalam folder public/, seperti index.php, css, dan js. Di hosting, kamu perlu memindahkan folder ini ke public_html atau direktori root (utama) domain atau bisa juga mengarahkan domain/subdomain ke folder public/ - File public/index.php di Laravel menggunakan autoloading untuk memuat semua dependensi aplikasi melalui vendor/autoload.php. Jadi, pastikan path pada baris tersebut sesuai dengan struktur folder di hosting kamu. Jika tidak tepat, Laravel akan gagal dijalankan.
- File konfigurasi .env
File .env berisi konfigurasi environment, termasuk database, app key, dan pengaturan lainnya. Pastikan file ini terisi dengan data yang sesuai dengan server hosting kamu.
Di sini kamu juga perlu mengubah pengaturan:
– APP_DEBUG=false : mengatur Laravel agar berjalan dalam mode production (bukan development)
– APP_ENV=production : menonaktifkan tampilan error detail yang sensitif agar tidak muncul di browser publik - File konfigurasi di /config/database.php
Laravel membaca konfigurasi database dari file ini, yang terhubung dengan .env. Pastikan koneksi ke database MySQL sesuai dengan yang kamu buat di cPanel. - Storage link (symlink)
Laravel menyimpan file yang diunggah (seperti PDF, gambar, dsb) di storage/app/public, tapi file tersebut tidak langsung bisa diakses oleh browser. Jadi, kamu perlu membuat symbolic link ke folder tersebut.
Catatan: Symlink harus dibuat di root hosting (tempat index.php berada) supaya file dapat diakses melalui URL. Jika tidak ada symlink ini, maka preview atau download file akan menghasilkan error 404 atau 400. - Artisan command yang perlu dijalankan
Di hosting (via terminal atau SSH), kamu perlu menjalankan perintah berikut setiap setelah mengubah isi file .env agar aplikasi optimal:
php artisan config:cache
Nah, setelah memahami konsep kerja Laravel dan strukturnya di dalam hosting. Kamu bisa memulai memilih langkah berikutnya, kamu bisa memilih metode instalasi yang paling cocok:
Artikel lainnya mengenai Laravel yang mungkin kamu butuhkan:
Selamat bereksplorasi, Sob! Kalau ada yang bikin kamu bingung, silahkan hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket. Dan kalau ada artikel panduan yang belum tersedia, silahkan untuk menyampaikannya juga, ya!
Pengantar Hai, Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, Read more
Hai Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, tutorial Read more
Halo Sob! Bagi developer handal seperti kamu, mendengar istilah laravel dan clone git adalah sesuatu yang familiar bukan? Nah, kali Read more
Hai Sob! Sebagai seorang developer yang menggunakan laravel, kamu pasti tahu dong bahwa salah satu keuntungan menggunakan framework laravel adalah Read more