PHP DOCS
SINTAKS-DASAR
Name
Description
Example
Output
Tag PHP (<?php ?>)Description: Setiap kode PHP harus berada di dalam tag pembuka dan penutup (kecuali file murni PHP).
Example:
<?php echo "Hello World!"; ?>
Output: Hello World!
Tag PHP (<?php ?>)Setiap kode PHP harus berada di dalam tag pembuka dan penutup (kecuali file murni PHP).
<?php echo "Hello World!"; ?>
Hello World!
Variabel ($)Description: Diawali dengan tanda $. Case-sensitive. Langsung dikenali tipe datanya (loosely typed).
Example:
$nama = "Ridho"; $umur = 25;
Output: Variabel berisi string dan integer.
Variabel ($)Diawali dengan tanda $. Case-sensitive. Langsung dikenali tipe datanya (loosely typed).
$nama = "Ridho"; $umur = 25;
Variabel berisi string dan integer.
Tipe Data DasarDescription: String, Integer, Float, Boolean, Null, Array, Object.
Example:
$str = "teks"; $int = 10; $float = 3.14; $bool = true; $arr = [1,2];
Output: Berbagai tipe data.
Tipe Data DasarString, Integer, Float, Boolean, Null, Array, Object.
$str = "teks"; $int = 10; $float = 3.14; $bool = true; $arr = [1,2];
Berbagai tipe data.
Konstanta (define / const)Description: define('NAMA', nilai) untuk global; const NAMA = nilai untuk di dalam class.
Example:
define("SITE_NAME", "DokumentasiKu");
echo SITE_NAME;Output: DokumentasiKu
Konstanta (define / const)define('NAMA', nilai) untuk global; const NAMA = nilai untuk di dalam class.
define("SITE_NAME", "DokumentasiKu");
echo SITE_NAME;DokumentasiKu
Operator AritmatikaDescription: + - * / % ** (pangkat).
Example:
$jumlah = 2 + 3 * 4; // 14
Output: 14
Operator Aritmatika+ - * / % ** (pangkat).
$jumlah = 2 + 3 * 4; // 14
14
Operator PerbandinganDescription: ==, === (identik), !=, <>, !==, <, >, <=, >=.
Example:
var_dump(5 == "5"); // true var_dump(5 === "5"); // false
Output: bool(true)
bool(false)
Operator Perbandingan==, === (identik), !=, <>, !==, <, >, <=, >=.
var_dump(5 == "5"); // true var_dump(5 === "5"); // false
bool(true)
bool(false)
Operator LogikaDescription: and, or, xor, &&, ||, !.
Example:
if ($a && $b) { ... }Output: True jika keduanya true.
Operator Logikaand, or, xor, &&, ||, !.
if ($a && $b) { ... }True jika keduanya true.
String Concatenation (.)Description: Menggabungkan string dengan titik.
Example:
$full = $nama . " Akbar";
Output: Ridho Akbar
String Concatenation (.)Menggabungkan string dengan titik.
$full = $nama . " Akbar";
Ridho Akbar
STRUKTUR-KONTROL
Name
Description
Example
Output
if / elseif / elseDescription: Percabangan berdasarkan kondisi.
Example:
if ($umur >= 18) {
echo "Dewasa";
} else {
echo "Anak-anak";
}Output: Dewasa (jika umur 18+)
if / elseif / elsePercabangan berdasarkan kondisi.
if ($umur >= 18) {
echo "Dewasa";
} else {
echo "Anak-anak";
}Dewasa (jika umur 18+)
switch / caseDescription: Percabangan multi-kondisi.
Example:
switch ($hari) {
case "Senin": echo "Awal minggu"; break;
default: echo "Hari lain";
}Output: Sesuai nilai $hari
switch / casePercabangan multi-kondisi.
switch ($hari) {
case "Senin": echo "Awal minggu"; break;
default: echo "Hari lain";
}Sesuai nilai $hari
match (PHP 8.0+)Description: Ekspresi yang lebih ketat (===). Hanya mengembalikan nilai.
Example:
$status = match($kode) {
200, 201 => 'Sukses',
404 => 'Tidak Ditemukan',
default => 'Error'
};Output: String sesuai kode
match (PHP 8.0+)Ekspresi yang lebih ketat (===). Hanya mengembalikan nilai.
$status = match($kode) {
200, 201 => 'Sukses',
404 => 'Tidak Ditemukan',
default => 'Error'
};String sesuai kode
for loopDescription: Perulangan dengan counter.
Example:
for ($i=0; $i<5; $i++) {
echo $i;
}Output: 01234
for loopPerulangan dengan counter.
for ($i=0; $i<5; $i++) {
echo $i;
}01234
while loopDescription: Perulangan selama kondisi true.
Example:
$i = 0;
while ($i < 3) {
echo $i++;
}Output: 012
while loopPerulangan selama kondisi true.
$i = 0;
while ($i < 3) {
echo $i++;
}012
do-while loopDescription: Dijalankan minimal sekali.
Example:
do { echo "Jalan"; } while (false);Output: Jalan
do-while loopDijalankan minimal sekali.
do { echo "Jalan"; } while (false);Jalan
foreach loopDescription: Khusus untuk array atau objek iterable.
Example:
$arr = [1,2,3];
foreach ($arr as $key => $value) {
echo "$key: $value ";
}Output: 0: 1 1: 2 2: 3
foreach loopKhusus untuk array atau objek iterable.
$arr = [1,2,3];
foreach ($arr as $key => $value) {
echo "$key: $value ";
}0: 1 1: 2 2: 3
break / continueDescription: Menghentikan atau melewati iterasi.
Example:
for ($i=0;$i<5;$i++) { if ($i==2) continue; if ($i==4) break; echo $i; }Output: 013
break / continueMenghentikan atau melewati iterasi.
for ($i=0;$i<5;$i++) { if ($i==2) continue; if ($i==4) break; echo $i; }013
FUNGSI
Name
Description
Example
Output
Deklarasi FungsiDescription: function namaFungsi(param) { ... return ...; }
Example:
function tambah($a, $b) {
return $a + $b;
}Output: Mengembalikan hasil penjumlahan.
Deklarasi Fungsifunction namaFungsi(param) { ... return ...; }
function tambah($a, $b) {
return $a + $b;
}Mengembalikan hasil penjumlahan.
Parameter DefaultDescription: Nilai default jika tidak diberikan.
Example:
function salam($nama = "User") { return "Halo $nama"; }Output: Halo User
Parameter DefaultNilai default jika tidak diberikan.
function salam($nama = "User") { return "Halo $nama"; }Halo User
Type DeclarationDescription: Menentukan tipe parameter dan return.
Example:
function kali(float $a, float $b): float {
return $a * $b;
}Output: Memaksa parameter float, return float.
Type DeclarationMenentukan tipe parameter dan return.
function kali(float $a, float $b): float {
return $a * $b;
}Memaksa parameter float, return float.
Anonymous Function (Closure)Description: Fungsi tanpa nama, bisa dimasukkan ke variabel.
Example:
$kurang = function($a, $b) { return $a - $b; };
echo $kurang(5,3);Output: 2
Anonymous Function (Closure)Fungsi tanpa nama, bisa dimasukkan ke variabel.
$kurang = function($a, $b) { return $a - $b; };
echo $kurang(5,3);2
Arrow Function (PHP 7.4+)Description: Bentuk ringkas dari closure.
Example:
$kali = fn($a, $b) => $a * $b;
Output: Mengembalikan hasil kali.
Arrow Function (PHP 7.4+)Bentuk ringkas dari closure.
$kali = fn($a, $b) => $a * $b;
Mengembalikan hasil kali.
Variable-length Argument ( ... )Description: Menerima banyak parameter menjadi array.
Example:
function jumlah(...$angka) { return array_sum($angka); }Output: Jumlah semua argumen.
Variable-length Argument ( ... )Menerima banyak parameter menjadi array.
function jumlah(...$angka) { return array_sum($angka); }Jumlah semua argumen.
ARRAY
Name
Description
Example
Output
Array IndexedDescription: Array dengan indeks numerik otomatis.
Example:
$buah = ["Apel", "Jeruk", "Mangga"];
Output: Array(0=>Apel, 1=>Jeruk, 2=>Mangga)
Array IndexedArray dengan indeks numerik otomatis.
$buah = ["Apel", "Jeruk", "Mangga"];
Array(0=>Apel, 1=>Jeruk, 2=>Mangga)
Array AsosiatifDescription: Array dengan key string.
Example:
$user = ["nama" => "Ridho", "umur" => 25];
Output: Array dengan key nama dan umur
Array AsosiatifArray dengan key string.
$user = ["nama" => "Ridho", "umur" => 25];
Array dengan key nama dan umur
array_push / array_popDescription: Menambah (push) atau menghapus (pop) elemen akhir.
Example:
array_push($buah, "Anggur"); $terakhir = array_pop($buah);
Output: Menambah Anggur, menghapus Mangga.
array_push / array_popMenambah (push) atau menghapus (pop) elemen akhir.
array_push($buah, "Anggur"); $terakhir = array_pop($buah);
Menambah Anggur, menghapus Mangga.
array_shift / array_unshiftDescription: Menghapus (shift) atau menambah (unshift) elemen awal.
Example:
$depan = array_shift($buah); array_unshift($buah, "Pisang");
Output: Menghapus Apel, menambah Pisang di depan.
array_shift / array_unshiftMenghapus (shift) atau menambah (unshift) elemen awal.
$depan = array_shift($buah); array_unshift($buah, "Pisang");
Menghapus Apel, menambah Pisang di depan.
array_mergeDescription: Menggabungkan dua atau lebih array.
Example:
$gabung = array_merge([1,2], [3,4]);
Output: [1,2,3,4]
array_mergeMenggabungkan dua atau lebih array.
$gabung = array_merge([1,2], [3,4]);
[1,2,3,4]
array_mapDescription: Mengaplikasikan callback ke setiap elemen.
Example:
$double = array_map(fn($n) => $n*2, [1,2,3]);
Output: [2,4,6]
array_mapMengaplikasikan callback ke setiap elemen.
$double = array_map(fn($n) => $n*2, [1,2,3]);
[2,4,6]
array_filterDescription: Menyaring elemen dengan callback.
Example:
$genap = array_filter([1,2,3,4], fn($n) => $n % 2 == 0);
Output: [2,4]
array_filterMenyaring elemen dengan callback.
$genap = array_filter([1,2,3,4], fn($n) => $n % 2 == 0);
[2,4]
in_array / array_searchDescription: Mencari nilai dalam array.
Example:
in_array("Jeruk", $buah); // trueOutput: bool(true)
in_array / array_searchMencari nilai dalam array.
in_array("Jeruk", $buah); // truebool(true)
STRING
Name
Description
Example
Output
strlen()Description: Panjang string.
Example:
strlen("Halo");Output: 4
strlen()Panjang string.
strlen("Halo");4
strtoupper / strtolowerDescription: Ubah ke huruf besar/kecil.
Example:
strtoupper("halo");Output: HALO
strtoupper / strtolowerUbah ke huruf besar/kecil.
strtoupper("halo");HALO
explode / implodeDescription: Pecah string ke array, gabung array ke string.
Example:
$arr = explode(",", "a,b,c");
echo implode("-", $arr);Output: a-b-c
explode / implodePecah string ke array, gabung array ke string.
$arr = explode(",", "a,b,c");
echo implode("-", $arr);a-b-c
str_replaceDescription: Mengganti substring.
Example:
str_replace("merah", "biru", "mobil merah");Output: mobil biru
str_replaceMengganti substring.
str_replace("merah", "biru", "mobil merah");mobil biru
SUPERGLOBALS
Name
Description
Example
Output
$_GETDescription: Mengambil data dari query string URL (?key=value).
Example:
// URL: page.php?id=123 echo $_GET['id'];
Output: 123
$_GETMengambil data dari query string URL (?key=value).
// URL: page.php?id=123 echo $_GET['id'];
123
$_POSTDescription: Mengambil data dari form method POST.
Example:
echo $_POST['email'];
Output: Isi input email
$_POSTMengambil data dari form method POST.
echo $_POST['email'];
Isi input email
$_REQUESTDescription: Gabungan $_GET, $_POST, dan $_COOKIE.
Example:
echo $_REQUEST['nama'];
Output: Nilai dari GET/POST/COOKIE
$_REQUESTGabungan $_GET, $_POST, dan $_COOKIE.
echo $_REQUEST['nama'];
Nilai dari GET/POST/COOKIE
$_SESSIONDescription: Menyimpan data sesi di server. Harus session_start() dulu.
Example:
session_start(); $_SESSION['login'] = true;
Output: Data tersimpan selama sesi.
$_SESSIONMenyimpan data sesi di server. Harus session_start() dulu.
session_start(); $_SESSION['login'] = true;
Data tersimpan selama sesi.
$_COOKIEDescription: Membaca cookie yang dikirim browser.
Example:
echo $_COOKIE['theme'];
Output: dark
$_COOKIEMembaca cookie yang dikirim browser.
echo $_COOKIE['theme'];
dark
$_FILESDescription: Menangani file yang diupload.
Example:
$_FILES['gambar']['name']; // nama asli file
Output: Nama file
$_FILESMenangani file yang diupload.
$_FILES['gambar']['name']; // nama asli file
Nama file
DATABASE-PDO
Name
Description
Example
Output
Koneksi PDODescription: Membuat koneksi database dengan PDO.
Example:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');Output: Objek PDO
Koneksi PDOMembuat koneksi database dengan PDO.
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');Objek PDO
Query SELECT (fetch)Description: Mengambil data dengan query.
Example:
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['name'];
}Output: Data user ditampilkan.
Query SELECT (fetch)Mengambil data dengan query.
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['name'];
}Data user ditampilkan.
Prepared Statement (aman)Description: Query dengan parameter binding untuk mencegah SQL injection.
Example:
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();Output: User dengan email tertentu.
Prepared Statement (aman)Query dengan parameter binding untuk mencegah SQL injection.
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();User dengan email tertentu.
INSERT / UPDATE / DELETEDescription: Menggunakan execute dengan prepared statement.
Example:
$stmt = $pdo->prepare('INSERT INTO users (name) VALUES (:name)');
$stmt->execute(['name' => 'Ridho']);Output: Data berhasil ditambahkan.
INSERT / UPDATE / DELETEMenggunakan execute dengan prepared statement.
$stmt = $pdo->prepare('INSERT INTO users (name) VALUES (:name)');
$stmt->execute(['name' => 'Ridho']);Data berhasil ditambahkan.
OOP
Name
Description
Example
Output
Class & ObjectDescription: Mendefinisikan blueprint dan membuat instance.
Example:
class User {
public $name;
function __construct($name) { $this->name = $name; }
}
$user = new User('Ridho');Output: Objek User dengan name = Ridho
Class & ObjectMendefinisikan blueprint dan membuat instance.
class User {
public $name;
function __construct($name) { $this->name = $name; }
}
$user = new User('Ridho');Objek User dengan name = Ridho
Inheritance (extends)Description: Mewarisi properti dan method dari parent class.
Example:
class Admin extends User {
public $role = 'admin';
}Output: Admin memiliki $name dan $role.
Inheritance (extends)Mewarisi properti dan method dari parent class.
class Admin extends User {
public $role = 'admin';
}Admin memiliki $name dan $role.
InterfaceDescription: Kontrak method yang harus diimplementasikan class.
Example:
interface Logger {
public function log($msg);
}Output: Class yang implements Logger wajib memiliki method log().
InterfaceKontrak method yang harus diimplementasikan class.
interface Logger {
public function log($msg);
}Class yang implements Logger wajib memiliki method log().
TraitDescription: Menyisipkan method ke dalam class (horizontal reuse).
Example:
trait Loggable {
public function log($msg) { echo $msg; }
}
class File { use Loggable; }Output: Method log() tersedia di class File.
TraitMenyisipkan method ke dalam class (horizontal reuse).
trait Loggable {
public function log($msg) { echo $msg; }
}
class File { use Loggable; }Method log() tersedia di class File.
ERROR
Name
Description
Example
Output
try-catch-finallyDescription: Menangani exception.
Example:
try {
throw new Exception('Error');
} catch (Exception $e) {
echo $e->getMessage();
} finally {
echo 'Selesai';
}Output: Error
Selesai
try-catch-finallyMenangani exception.
try {
throw new Exception('Error');
} catch (Exception $e) {
echo $e->getMessage();
} finally {
echo 'Selesai';
}Error
Selesai
Custom ExceptionDescription: Membuat class exception sendiri.
Example:
class ValidationException extends Exception {}Output: Bisa throw new ValidationException('Pesan')
Custom ExceptionMembuat class exception sendiri.
class ValidationException extends Exception {}Bisa throw new ValidationException('Pesan')
KEAMANAN
Name
Description
Example
Output
htmlspecialchars()Description: Mencegah XSS dengan mengkonversi karakter khusus HTML.
Example:
echo htmlspecialchars($_POST['komentar']);
Output: Tag HTML tidak akan dieksekusi.
htmlspecialchars()Mencegah XSS dengan mengkonversi karakter khusus HTML.
echo htmlspecialchars($_POST['komentar']);
Tag HTML tidak akan dieksekusi.
password_hash / password_verifyDescription: Hash password dengan bcrypt dan verifikasinya.
Example:
$hash = password_hash('rahasia', PASSWORD_BCRYPT);
if (password_verify('rahasia', $hash)) { echo 'Cocok'; }Output: Cocok
password_hash / password_verifyHash password dengan bcrypt dan verifikasinya.
$hash = password_hash('rahasia', PASSWORD_BCRYPT);
if (password_verify('rahasia', $hash)) { echo 'Cocok'; }Cocok
CSRF TokenDescription: Mencegah Cross-Site Request Forgery dengan token unik.
Example:
// di form: <input type="hidden" name="token" value="<?= $token ?>">
// validasi: if ($_POST['token'] !== $_SESSION['token']) die('CSRF');Output: Form hanya bisa dikirim dari halaman asli.
CSRF TokenMencegah Cross-Site Request Forgery dengan token unik.
// di form: <input type="hidden" name="token" value="<?= $token ?>">
// validasi: if ($_POST['token'] !== $_SESSION['token']) die('CSRF');Form hanya bisa dikirim dari halaman asli.
PHP8-FITUR
Name
Description
Example
Output
Named ArgumentsDescription: Memanggil fungsi dengan menyebut nama parameter.
Example:
function profil($nama, $umur) { ... }
profil(umur: 25, nama: 'Ridho');Output: Urutan tidak penting.
Named ArgumentsMemanggil fungsi dengan menyebut nama parameter.
function profil($nama, $umur) { ... }
profil(umur: 25, nama: 'Ridho');Urutan tidak penting.
Match ExpressionDescription: Struktur kondisional yang mengembalikan nilai (strict comparison).
Example:
echo match(404) { 200 => 'OK', 404 => 'Not Found' };Output: Not Found
Match ExpressionStruktur kondisional yang mengembalikan nilai (strict comparison).
echo match(404) { 200 => 'OK', 404 => 'Not Found' };Not Found
Nullsafe Operator (?->)Description: Memanggil method/properti hanya jika tidak null.
Example:
echo $user?->profile?->name;
Output: Nilai atau null tanpa error.
Nullsafe Operator (?->)Memanggil method/properti hanya jika tidak null.
echo $user?->profile?->name;
Nilai atau null tanpa error.
Enum (PHP 8.1+)Description: Tipe data enumerasi.
Example:
enum Status { case Draft; case Published; }Output: Nilai terbatas.
Enum (PHP 8.1+)Tipe data enumerasi.
enum Status { case Draft; case Published; }Nilai terbatas.
BEST-PRACTICES
Name
Description
Example
Output
Gunakan Composer & AutoloadingDescription: Manajemen dependensi modern.
Example:
composer init, composer require phpmailer/phpmailer
Output: Dependensi terkelola.
Gunakan Composer & AutoloadingManajemen dependensi modern.
composer init, composer require phpmailer/phpmailer
Dependensi terkelola.
Pisahkan Logika dari TampilanDescription: Hindari campur aduk PHP dan HTML.
Example:
Gunakan template engine (Blade, Twig) atau pisahkan file.
Output: Kode lebih bersih.
Pisahkan Logika dari TampilanHindari campur aduk PHP dan HTML.
Gunakan template engine (Blade, Twig) atau pisahkan file.
Kode lebih bersih.
Validasi dan Sanitasi InputDescription: Gunakan filter_var() atau library validasi.
Example:
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
Output: Email valid atau false.
Validasi dan Sanitasi InputGunakan filter_var() atau library validasi.
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
Email valid atau false.