Ilustrasi: Proses di sisi server (Backend)
Membuat aplikasi web modern memerlukan fondasi yang kuat di sisi server, atau yang biasa dikenal sebagai backend. PHP, dengan popularitasnya yang tak lekang oleh waktu dan ekosistem yang luas, tetap menjadi salah satu pilihan utama bagi developer untuk membangun logika sisi server. Artikel ini akan memandu Anda melalui langkah-langkah dasar cara membuat backend dengan PHP.
Sebelum menulis baris kode PHP pertama Anda, Anda memerlukan lingkungan yang dapat mengeksekusi skrip PHP. PHP berjalan di server, bukan di browser pengguna. Untuk pengembangan lokal, kita memerlukan paket perangkat lunak yang mensimulasikan server web.
Setelah menginstal salah satu paket tersebut, pastikan layanan Apache dan MySQL sudah berjalan. Folder tempat Anda akan menempatkan file PHP Anda biasanya adalah htdocs (pada XAMPP) atau www (pada WAMP).
Backend bertanggung jawab atas tiga hal utama: menerima permintaan (request), memproses data (logika bisnis), dan berinteraksi dengan database, lalu mengirimkan respons (response) kembali ke browser.
File PHP biasanya memiliki ekstensi .php. Ketika server menerima permintaan untuk file ini, ia akan memproses kode di dalamnya sebelum mengirimkan hasilnya (biasanya HTML) ke klien.
index.php):<?php
// 1. Logika Pemrosesan (Misalnya, mengambil tanggal hari ini)
$tanggal_sekarang = date('Y-m-d H:i:s');
// 2. Output ke Browser (HTML)
echo "<h2>Selamat Datang di Backend PHP!</h2>";
echo "<p>Waktu server saat ini adalah: " . $tanggal_sekarang . "</p>";
?>
Backend yang efektif hampir selalu memerlukan penyimpanan data. Dalam konteks PHP, MySQL adalah pasangan yang paling umum digunakan. Kita akan menggunakan ekstensi PHP untuk berinteraksi dengan database, seperti MySQLi (MySQL Improved) atau PDO (PHP Data Objects).
PDO lebih disarankan karena mendukung berbagai jenis database, bukan hanya MySQL, dan lebih aman dari serangan SQL Injection.
<?php
$host = 'localhost';
$db = 'nama_database_anda';
$user = 'root';
$pass = ''; // Biasanya kosong di instalasi XAMPP lokal
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
echo "Koneksi ke database berhasil!";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>
Backend perlu tahu apa yang harus dilakukan ketika URL tertentu diakses. Meskipun framework memiliki sistem routing yang canggih, pada PHP murni, kita bisa mensimulasikannya menggunakan variabel superglobal $_GET.
Misalnya, jika URL-nya adalah index.php?halaman=profil, kita ingin menampilkan halaman profil.
<?php
$halaman = $_GET['halaman'] ?? 'home'; // Default ke 'home' jika 'halaman' tidak ada
if ($halaman == 'profil') {
echo "<h1>Halaman Profil Pengguna</h1>";
echo "<p>Ini adalah konten yang diambil dari logika backend.</p>";
} elseif ($halaman == 'produk') {
// Di sini Anda akan melakukan query database untuk menampilkan daftar produk
echo "<h1>Daftar Produk Keren</h1>";
} else {
echo "<h1>Selamat Datang di Beranda</h1>";
}
?>
Salah satu fungsi utama backend adalah menerima data yang dikirimkan pengguna melalui formulir HTML menggunakan metode POST. Data ini ditampung dalam array superglobal $_POST.
Penting untuk selalu memvalidasi dan membersihkan data (sanitasi) yang masuk sebelum menggunakannya, terutama sebelum memasukkannya ke database, untuk mencegah serangan keamanan.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Ambil data, dan gunakan fungsi sanitasi (misalnya htmlspecialchars)
$nama = htmlspecialchars($_POST['nama'] ?? '');
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
if (!empty($nama) && filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Logika: Simpan $nama dan $email ke database di sini
echo "<p style='color: green;'>Data berhasil diproses untuk: " . $nama . " (" . $email . ")</p>";
} else {
echo "<p style='color: red;'>Input tidak valid.</p>";
}
}
?>
Setelah menguasai dasar-dasar manipulasi file, koneksi database, dan penanganan request/response dengan PHP murni, langkah selanjutnya adalah mengadopsi framework PHP seperti Laravel, Symfony, atau CodeIgniter. Framework ini menyediakan struktur MVC (Model-View-Controller) yang terorganisir, menangani keamanan secara otomatis, dan mempercepat proses pengembangan backend secara drastis. Namun, pemahaman fundamental tentang cara kerja PHP seperti yang dibahas di atas akan membuat Anda menjadi developer yang lebih handal, terlepas dari framework apa pun yang Anda gunakan.