๐Ÿš€ PHP Lanjutan

Kuasai konsep-konsep advanced PHP untuk menjadi developer profesional!

๐Ÿ—๏ธ Object-Oriented Programming

Pemrograman Berorientasi Objek

OOP adalah paradigma pemrograman yang menggunakan "objek" - entitas yang mengandung data (properti) dan kode (method). OOP membuat kode lebih terorganisir, dapat digunakan kembali, dan mudah dipelihara.

class_mobil.php
<?php // Definisi Class class Mobil { // Properties (Atribut) private $merk; private $warna; private $kecepatan = 0; // Constructor public function __construct($merk, $warna) { $this->merk = $merk; $this->warna = $warna; } // Methods (Fungsi) public function gas($tambah) { $this->kecepatan += $tambah; return "Kecepatan sekarang: " . $this->kecepatan . " km/h"; } public function rem($kurang) { $this->kecepatan = max(0, $this->kecepatan - $kurang); return "Kecepatan sekarang: " . $this->kecepatan . " km/h"; } public function getInfo() { return "Mobil " . $this->merk . " warna " . $this->warna; } } // Membuat Object $mobilku = new Mobil("Toyota", "Merah"); echo $mobilku->getInfo(); ?>
๐Ÿš— Playground Mobil OOP
Mobil Toyota warna Merah
Kecepatan sekarang: 0 km/h

๐Ÿ—„๏ธ Database & PDO

PHP Data Objects (PDO)

PDO adalah interface untuk mengakses database di PHP. PDO menyediakan cara yang konsisten untuk mengakses berbagai jenis database dan melindungi dari SQL injection.

database_pdo.php
<?php // Koneksi Database dengan PDO try { $pdo = new PDO("mysql:host=localhost;dbname=sekolah", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo "Koneksi gagal: " . $e->getMessage(); } // INSERT dengan Prepared Statement function tambahMahasiswa($nama, $jurusan, $umur) { global $pdo; $sql = "INSERT INTO mahasiswa (nama, jurusan, umur) VALUES (?, ?, ?)"; $stmt = $pdo->prepare($sql); return $stmt->execute([$nama, $jurusan, $umur]); } // SELECT Data function getMahasiswa() { global $pdo; $sql = "SELECT * FROM mahasiswa ORDER BY nama"; $stmt = $pdo->query($sql); return $stmt->fetchAll(PDO::FETCH_ASSOC); } ?>
๐Ÿ“Š Database Simulator

โž• Tambah Mahasiswa

๐Ÿ“‹ Data Mahasiswa

Nama Jurusan Umur Aksi
Andi Pratama Informatika 20
Sari Dewi Sistem Informasi 19

๐Ÿ“ File Handling

Manipulasi File di PHP

PHP menyediakan berbagai fungsi untuk membaca, menulis, dan memanipulasi file. Ini sangat berguna untuk menyimpan data, membuat log, atau mengelola upload file.

file_handling.php
<?php // Menulis ke file function tulisFile($namaFile, $konten) { $file = fopen($namaFile, "w"); if ($file) { fwrite($file, $konten); fclose($file); return true; } return false; } // Membaca dari file function bacaFile($namaFile) { if (file_exists($namaFile)) { return file_get_contents($namaFile); } return "File tidak ditemukan!"; } // Upload file dengan validasi function uploadFile($file) { $allowedTypes = ['jpg', 'jpeg', 'png', 'gif', 'pdf', 'txt']; $fileExtension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); if (in_array($fileExtension, $allowedTypes)) { $uploadPath = "uploads/" . basename($file['name']); if (move_uploaded_file($file['tmp_name'], $uploadPath)) { return "File berhasil diupload!"; } } return "Upload gagal!"; } ?>
๐Ÿ“ File Editor Simulator

โœ๏ธ Tulis File

๐Ÿ“ค Upload File Simulator

File: catatan.txt
Konten akan ditampilkan di sini...

๐Ÿ” Session & Security

Session Management & Security

Session memungkinkan kita menyimpan data user di server. Security adalah aspek penting dalam pengembangan web untuk melindungi aplikasi dari berbagai ancaman.

session_security.php
<?php session_start(); // Login function dengan password hashing function login($username, $password) { // Simulasi data user dari database $users = [ 'admin' => password_hash('123456', PASSWORD_DEFAULT), 'user' => password_hash('password', PASSWORD_DEFAULT) ]; if (isset($users[$username]) && password_verify($password, $users[$username])) { // Set session $_SESSION['user_id'] = $username; $_SESSION['login_time'] = time(); return true; } return false; } // Cek apakah user sudah login function isLoggedIn() { return isset($_SESSION['user_id']); } // Sanitasi input untuk mencegah XSS function sanitizeInput($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } // Logout function logout() { session_destroy(); } ?>
๐Ÿ”‘ Login System Simulator

โšก Advanced Features

Fitur-Fitur Advanced PHP

PHP modern menyediakan banyak fitur canggih seperti JSON handling, Regular Expressions, Error Handling, dan API development yang membuat pengembangan web lebih powerful.

advanced_features.php
<?php // JSON Handling $data = [ 'nama' => 'John Doe', 'umur' => 25, 'hobi' => ['coding', 'gaming', 'reading'] ]; $json = json_encode($data); $decoded = json_decode($json, true); // Regular Expressions function validateEmail($email) { $pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/'; return preg_match($pattern, $email); } // Error Handling dengan Try-Catch function divideNumbers($a, $b) { try { if ($b == 0) { throw new Exception("Tidak bisa dibagi dengan nol!"); } return $a / $b; } catch(Exception $e) { return "Error: " . $e->getMessage(); } } // Simple API Response function apiResponse($data, $status = 'success') { header('Content-Type: application/json'); return json_encode([ 'status' => $status, 'data' => $data, 'timestamp' => date('Y-m-d H:i:s') ]); } ?>
๐Ÿงช Advanced Features Lab

๐Ÿ“ง Email Validator

๐Ÿ”ข Calculator dengan Error Handling

๐ŸŒ JSON API Simulator

Output akan ditampilkan di sini...