Struktur folder backend yang rapi adalah fondasi penting untuk membuat aplikasi yang scalable, mudah dirawat, dan aman. Banyak proyek gagal berkembang karena struktur acak-acakan, file bercampur, dan tidak memiliki arsitektur yang jelas.
1. Kenapa Struktur Folder Itu Penting?
- Mudah melakukan debugging
- Developer lain cepat memahami project
- Memisahkan tanggung jawab setiap bagian
- Lebih mudah scaling ketika fitur makin banyak
- Meningkatkan keamanan aplikasi
2. Struktur Profesional untuk Backend Modern
Struktur backend yang umum digunakan perusahaan teknologi:
/app
/controllers
/models
/middleware
/services
/helpers
/config
database.php
app.php
/public
index.php
/routes
api.php
web.php
/storage
/logs
/cache
/vendor (jika menggunakan composer)
3. Penjelasan Folder Satu per Satu
/app/controllers
Berisi file controller sebagai penghubung antara request user dan logic aplikasi.
Contoh: UserController.php, AuthController.php.
/app/models
Berisi model database yang bertugas meng-handle operasi CRUD.
/app/services
Tempat fungsi bisnis yang kompleks, misalnya penghitungan harga, notifikasi, dan lain-lain.
/app/middleware
Berisi middleware seperti autentikasi JWT, API key, CSRF, dan role-checking.
/routes
File routing yang memetakan URL ke controller tertentu.
/config
File konfigurasi seperti database, secret key, dan lingkungan aplikasi.
/public
Folder yang diakses publik—berisi index.php dan file statis seperti gambar atau JS bundle.
4. Contoh Controller Sederhana
class UserController {
public function index() {
echo json_encode([
"message" => "Daftar user berhasil ditampilkan"
]);
}
}
5. Contoh Routing
// routes/api.php
require_once '../app/controllers/UserController.php';
$uri = $_SERVER['REQUEST_URI'];
if ($uri === '/api/users') {
(new UserController)->index();
}
6. Best Practice Struktur Backend
- Jangan mencampur controller dengan logic utama.
- Semua query database harus di Model.
- Gunakan Services untuk logic kompleks.
- Setiap request masuk wajib melewati middleware.
- Logging dan error handling harus terpisah.
Dengan struktur profesional seperti di atas, backend akan lebih mudah dikembangkan, terlihat rapi, dan siap scale ketika aplikasi tumbuh besar.