O’zgarmas (constant) — bir marta belgilangach, qayta o’zgartirib bo’lmaydigan qiymat. Ba’zi qiymatlar tabiatan doimiy: sayt nomi, soliq stavkasi, ma’lumotlar bazasi sozlamalari. Ularni o’zgarmas qilish tasodifan o’zgartirib yuborishdan himoya qiladi va kod maqsadini aniqroq ifodalaydi.
O’zgarmas (constant) — e’lon qilingandan so’ng qiymati o’zgarmaydigan nom. PHP’da o’zgarmaslar
define()funksiyasi yokiconstkalit so’zi bilan yaratiladi va$belgisisiz ishlatiladi.
define() bilan yaratish
O’zgarmasni yaratishning klassik usuli — define() funksiyasi. Diqqat: o’zgarmaslar $ belgisisiz ishlatiladi:
<?php
define("PI", 3.14159);
define("SAYT", "UzbekDevs");
echo PI . "\n";
echo SAYT;
?>
3.14159
UzbekDevs
define("PI", 3.14159) o’zgarmas yaratdi. E’tibor bering: o’zgarmasga murojaat qilishda $ yozilmaydi — shunchaki PI yoki SAYT.
const bilan yaratish
Zamonaviy PHP’da o’zgarmasni const kalit so’zi bilan ham yaratish mumkin:
<?php
const KUNLAR = 7;
const KOMPANIYA = "UzbekDevs";
echo "Haftada " . KUNLAR . " kun\n";
echo KOMPANIYA;
?>
Haftada 7 kun
UzbekDevs
const va define() o’xshash ishlaydi. Amaliy farq: const kompilyatsiya vaqtida aniqlanadi, define() esa ish vaqtida — shuning uchun shartga bog’liq o’zgarmaslar uchun define() qulayroq.
define va const farqi
Ikki usulni jadvalda solishtiramiz:
| Xususiyat | define() |
const |
|---|---|---|
| Yozilishi | funksiya | kalit so’z |
| Qachon aniqlanadi | ish vaqtida | kompilyatsiya vaqtida |
| Shart ichida | mumkin | mumkin emas |
Nega o’zgarmas ishlatish kerak?
O’zgarmasning ikki muhim afzalligi bor. Birinchidan, u xatoning oldini oladi — muhim qiymat tasodifan o’zgarmaydi. Ikkinchidan, u kodni o’qiladigan qiladi:
<?php
define("SOLIQ", 0.12);
$narx = 50000;
$soliqli = $narx + $narx * SOLIQ;
echo "Soliqli narx: " . $soliqli;
?>
Soliqli narx: 56000
Agar soliq stavkasi o’zgarsa, uni faqat bitta joyda tuzatasiz — bu katta loyihalarda bebaho. O’zgarmaslar odatda UPPER_CASE bilan yoziladi.
Xulosa
Bu bo’limda define() va const bilan o’zgarmas yaratish, ularning farqi va o’zgarmasning afzalliklarini ko’rib chiqdik. Muhim eslatma: o’zgarmaslar $ belgisisiz ishlatiladi. Keyingi darsda operatorlarga o’tamiz.