define

(PHP 4, PHP 5, PHP 7, PHP 8)

defineBir isimli sabit tanımlar

Açıklama

define ( string $isim , mixed $değer , bool $harf_büyüklüğüne_duyarsız = false ) : bool

Çalışma sırasında bir isimli sabit tanımlamaya yarar.

Değiştirgeler

isim

Sabitin ismi.

Bilginize:

Ayrılmış ve hatta geçersiz adlarla sabit tanımlamak mümkündür. Bunların değeri (yalnızca) constant() ile alınabilir. Ancak bunu yapmanız önerilmez.

değer

Sabitin değeri. PHP 5'te integer, float, string, boolean veya null türünde değerler kabul edilirken PHP 7'de bunlara array türünde değerler de eklenmiştir.

Uyarı

resource türünde sabitler tanımlamak mümkün ise de beklenmedik davranışlara yol açacağından bu önerilmez.

harf_büyüklüğüne_duyarsız

true belirtilirse, tanımlanan sabitin ismi harf büyüklüğüne duyarsız olarak tanımlanır. Öntanımlı davranış harf büyüklüğüne duyarlıdır; yani SABiT ve Sabit farklı sabitler olarak ele alınır.

Uyarı

PHP 7.3.0 ve sonrasında harf büyüklüğüne duyarsız sabitlerin kullanımı önerilmemektedir.

Bilginize:

Harf büyüklüğüne duyarsız sabitler küçük harfli saklanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
7.3.0 harf_büyüklüğüne_duyarsız değiştirgesinin kullanımı önerilmemektedir. PHP 8.0.0 sürümünde kaldırılmıştır.
7.0.0 array türünde değerlere izin verilmektedir.

Örnekler

Örnek 1 - Sabit tanımlamak

<?php
define
("CONSTANT""Hello world.");
echo 
CONSTANT// çıktısı: "Hello world."
echo Constant// çıktısı: "Constant" Ayrıca bir uyarı çıktılanır.

define("GREETING""Hello you."true);
echo 
GREETING// çıktısı: "Hello you."
echo Greeting// çıktısı: "Hello you."

// PHP 7 ve sonrasında çalışır
define('ANIMALS', array(
    
'dog',
    
'cat',
    
'bird'
));
echo 
ANIMALS[1]; // çıktısı: "cat"

?>

Örnek 2 - Ayrılmış isimli sabitler

Bu örnek, bir sihirli sabit ile aynı ada sahip bir sabiti tanımlama durumundaki davranışı göstermektedir. Ortaya çıkan davranış açıkça kafa karıştırıcı olduğundan, pratikte bunu yapmanız önerilmez.

<?php
var_dump
(defined('__LINE__'));
var_dump(define('__LINE__''test'));
var_dump(constant('__LINE__'));
var_dump(__LINE__);
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
string(4) "test"
int(5)

Ayrıca Bakınız