Anda di halaman 1dari 2

PHP › Variable dan Constant

Variable ref ›› Gunakan tanda kurung kurawal untuk membuat variabel


dari gabungan string dan variabel
Penulisan $nama = 'alfa';
${'nilai_'.$nama} = 10;
Contoh penulisan valid echo $nilai_alfa; //10;
$variable = 1; Contoh lain:
$_variable = 'string';
$variable2 = array(); $list = array("nama" => "Alfa", "nilai" => 10);
foreach ($list as $key => $val) {
Keterangan: ${'input_' . $key} = $val;
}
 Diawali $ dan harus diikuti sebuah huruf atau echo $input_nama; // Alfa
underscore, sisanya: huruf, underscore, atau angka echo $input_nilai; // 10
 Case sensitive: $var tidak sama dengan $Var
 Tidak boleh menggunakan nama $this
Constant ref ››
Built in variables
Membuat Konstanta
$_GET, $_POST, $_FILES, $_SESSION, $_COOKIE, dan
$_SERVER
Dua cara mendefinisikan konstanta, fungsi atau
$_GET, $_POST, dan $_FILES untuk memperoleh data statemen
form yang disubmit, $_SESSION untuk memperoleh data define('BASE_URL', 'jagowebdev.com'); // Fungsi
sesi yang dimulai dengan start_session(), $_COOKIE const DB_NAME = 'toko_buku'; // Statemen
untuk memperoleh data cookie, $_SERVER untuk echo BASE_URL; // jagowebdev.com
memperoleh data terkait server Sifat konstanta:

Memberi Nilai  Nilai constant tidak dapat diubah, jika constant


didefinisikan dua kali, akan muncul pesan error
$value = 10;  Nama bersifat case sensitive
$value = $value + 5;  Fungsi define tidak dapat digunakan di dalam Class
echo $value; // 15;
 Sebelum PHP versi 5.3 statemen const hanya dapat
Pertama tama ekspresi sebelah kanan tanda = akan digunakan pada Class
dievaluasi, hasilnya disimpan ke variabel di sebelah kiri.
Penulisan:

Scope: GLOBAL & LOCAL  Harus diawali huruf atau underscore (_), selanjutnya
hanya boleh: huruf, angka, dan underscore
$nilai = 10; // Global  Konstanta hanya bisa diisi nilai scalar (integer, float,
function angka() { dll) dan string, mulai PHP 7 dapat diisi array
echo $nilai; // Undefined
$nilai = 5; // Lokal  Tips: untuk memberi tanda konstanta, gunakan
echo $nilai; huruf kapital semua
}
angka(); // 5 Membuat Konstanta dengan array (PHP 7)
echo $nilai; // 10
Global: di luar fungsi, Lokal: di dalam fungsi. Secara Konstanta dengan array:
default variabel global tidak dapat digunakan di dalam define ('DB_CONFIG', ['host' => 'localhost',
fungsi 'port' => '3306',
'db_name' => 'jagowebdev',
'user' => 'root',
Variable Variables 'pass' => ''
]
$nilai = 10;
);
$variabel = 'nilai';
echo DB_CONFIG['host'];
echo $$variabel; // 10
Mengakses $$variabel sama dengan mengakses $nilai.

©2017 • Jagowebdev.com
Scope: GLOBAL EXAMPLE: PHP 7

Konstanta bersifat global, dapat digunakan di luar File config.php


maupun di dalam fungsi define ('SITE_NAME', 'jagowebdev');
const DB_NAME = 'toko_buku'; // PHP >= 5.3 define ('DB_CONFIG', ['host' => 'localhost',
function connect() { 'port' => '3306',
echo DB_NAME; 'db_name' => 'jagowebdev',
} 'user' => 'root',
'pass' => ''
echo connect(); // toko_buku ]
);
Mendefinisikan Dengan Aman
File koneksi.php
Untuk menghindari error karena konstanta didefinisikan
require_once 'config.php';
lebih dari sekali,, tes nama konstanta dengan IF $conn = mysqli_connect(CONFIG_DB['host'],
if (!defined('DB_NAME')) { CONFIG_DB['user'],
const DB_NAME = 'toko_buku'; CONFIG_DB['pass'],
CONFIG_DB['db_name']
} );
if (!$conn) {
die('ERROR: ' . mysqli_connect_error);
PRE DEFINED CONSTANT
}
PHP menyediakan beberapa konstanta yang dapat
langsung digunakan, ciri dari konstanta bawaan PHP
EXAMPLE: PHP ALL VERSION
adalah diawali dan diakhiri dengan dua underscore (__)
File config.php
Mendapatkan baris kode
__LINE__ define ('DB_HOST', 'localhost');
echo __LINE__; // 1
define ('DB_USER', 'root');
Full path dari file define ('DB_PASS', '');
__FILE__ define ('DB_NAME', 'jagowebdev');
E:\xampp\htdocs\tutorial\file.php
File koneksi.php
__DIR__ Full path dari directory
E:\xampp\htdocs\tutorial\ require_once 'config.php';
$conn = mysqli_connect(DB_HOST, DB_ROOT,
Mendapatkan nama fungsi DB_PASS, DB_NAME);
function tes_fungsi() {
if (!$conn) {
__FUNCTION__ echo __FUNCTION__;
die('ERROR: ' . mysqli_connect_error);
} }
echo tes_fungsi(); //
tes_fungsi

Mendapatkan nama CLASS


class myClass {
function getClassName() {
echo __CLASS__;
__CLASS__ }
}
$obj = new myClass;
echo $obj->getClassName(); //
myClass

©2017 • Jagowebdev.com

Anda mungkin juga menyukai