PHP 8.0.26 Released!

Sihirli Sabitler

Değerleri kullanıldıkları yere göre değişen dokuz sihirli sabit vardır. Örneğin, __LINE__ sabitinin değeri betiğin hangi satırında kullanıldığına bağlıdır. Çalışma zamanında çözümlenen sırada sabitlerin tersine "sihirli" sabitlerin tamamı derleme sırasında çözümlenir. Bu özel sabitler büyük-küçük harf farkına duyarsızdır ve aşağıda listelenmişlerdir:

PHP'nin sihirli sabitleri
İsim Açıklama
__LINE__ Dosyada geçerli satırın numarası.
__FILE__ Dosyanın veya sembolik bağdan çözümlenen dosyanın tam dosya yolu ve dosya ismi. include işlevi ile betiğe eklenen bir dosyanın içinde kullanıldığında betiğin ismini değil, eklenen dosyanın ismini içerir.
__DIR__ Dosyanın bulurduğu dizin. Dahil edilen bir dosyanın içinde kullanıldığında dahil edilen dosyanın dizini döner. Bu dirname(__FILE__) işlevine eşdeğerder. Bu dizin isminin sonuna bir kök dizin olmadıkça bir bölü imi konmaz.
__FUNCTION__ İşlev ismi veya anonim işlevler için {closure}.
__CLASS__ Sınıf ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir. Kalıtsal özelliklerin içinde kullanıldığında __CLASS__, içinde kullanıldığı sınıfın ismidir.
__TRAIT__ Kalıtsal özellik ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir.
__METHOD__ Yöntem ismi.
__NAMESPACE__ Geçerli isim alanının adı.
SınıfAdı::class Tamamen nitelenmiş sınıf ismi.

add a note

User Contributed Notes 2 notes

up
4
theking2 at king dot ma
4 months ago
If PHP is run inside a web server request there is an important difference between the __DIR__ constant and $_SERVER['DOCUMENT_ROOT'].

Where __DIR__ of a PHP script contained within a sub-folder will include the complete server path $_SERVER['DOCUMENT_ROOT'] will contain a server path up to the _root_ of the application. This can be helpful when for instance an auto-loader is defined in an include file sitting inside a sub-folder and where the classes are located in another folder at the root of the application.
up
-6
sham dot hrm at gmail dot com
1 year ago
You can implement magic constants as given below example:

<?php
namespace UserModel {
    class
User {
        public function
__construct() {
            echo
'I am in '.__CLASS__.'</br>';
        }
        public function
showData() {
            echo
'I am in '.__METHOD__.'</br>';
        }
    }
   
   
$obj = new User;
   
$obj->showData();
    echo
__NAMESPACE__;
}
?>
To Top