define

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

defineBir isimli sabit tanımlar

Açıklama

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

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

Bağımsız Değişkenler

sabit_ismi

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. integer, float, string, boolean, array veya null türünde değerler kabul edilir.

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. PHP 8.0.0 ve sonrasında, sadece false değeri kabul edilmektedir. true değeri bir uyarı üretecektir.

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
8.0.0harf_büyüklüğüne_duyarsız bağımsız değişkeninde true aktarımı artık bir E_WARNING çıktılıyor. false aktarımı ise hala destekleniyor.
7.3.0harf_büyüklüğüne_duyarsız bağımsız değişkeninin kullanımı önerilmemektedir. PHP 8.0.0 sürümünde kaldırılacaktır.
7.0.0array 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

To Top