Codecourse

Sabitlər

Bəzən skriptdə qiyməti dəyişməyən hər hansı müəyyən kəmiyyətləri yadda saxlamaq üçün dəyişənlərdən istifadə etmək məqsədəuyğun hesab edilmir. Müxtəlif şifrələr, verilənlər bazasına qoşulma, faylın yolu, səhvlər haqda məlumatları belə kəmiyyətlərə misal göstərmək olar. PHP proqramlaşdırma dilində məhz bu məqsədlə sabitlər konstruksiyası mövcuddur.

define() funksiyası və ya const (PHP 5.3.0 versiyasından etibarən) açar sözünün köməkliyi ilə sabitləri elan etmək olar. Sabit elan edildikdən sonra onun qiyməti dəyişdirilə və ya ləğv edilə bilməz. Həmçinin eyni ada malik sabit iki dəfə elan edilə bilməz. Dəyişənlərin adı ilə bağlı qaydalar sabitlərin adı üçün də eynidir, yalnız bir istisna var. Sabitlərin adında $ (dollar) simvolu yoxdur. Sabitlərin adı registrə həssasdır. PHP daxil olmaqla, bir çox proqramlaşdırma dillərində formalaşmış qaydaya əsasən, sabitlərin adı böyük hərflə yazılır. Hərçənd bu məcburi deyil.

<?php
define("PASSWORD", "123456");
echo PASSWORD; // Ekrana 123456 çıxarılacaq.
echo password; // Ekrana "password" və xəbərdarlıq çıxarılacaq.
?>

sabitlər

Yuxarıdakı nümunədən göründüyü kimi sabitin qiymətini ekrana çıxarmaq üçün adını göstərmək lazımdır. Sabitlərin adı başlanğıc ayar kimi registrə həssas olduğundan PASSWORDpassword fərqli sabit adlarıdır. Buna görə elan edilməmiş password sabitini çağırdıqda aşağıdakı xəbərdarlıq edilir: "Notice: Use of undefined constant password".

Adı registrdən asılı olmayan sabiti elan etmək üçün define() funksiyasında üçüncü parametr kimi TRUE qiymətini göstərmək lazımdır.

<?php
define("PASSWORD", "123456", TRUE);
echo PASSWORD; // 123456
echo "<br />"; // yeni sətrə keçid
echo password; // 123456
echo "<br />";
echo pasSwOrD; // 123456
?>

Qeyd

PHP 5.6 versiyasına kimi sabitlərin qiyməti skalyar tip (məntiqi, tam ədədlər, həqiqi ədədlər və sətirlər) ola bilər. PHP 5.6 və yuxarı versiyalarda həm skalyar, həm də massiv ola bilər.

<?php
// PHP 5.3.0 versiyasından etibarən işləyir
const CONSTANT = 'Hello, World!';
echo CONSTANT; // Hello, World!
?>

Qeyd

const açar sözünün köməyi ilə yaradılan sabitləri funksiya, dövr, iftry/catch bloklar daxilində elan etmək olmaz.

Dəyişənlərdən fərqli olaraq, proqramın istənilən yerindən sabitlərə müraciət etmək olar.

Növbəti dərsi seçib keçid düyməsinə sıxın: