PHP’ de Sihirli Sabitler
PHP’ de çeşitli extension’ larla birlikte gelen ön tanımlı sabitler vardır. Bu sabitleri bilmek bizim PHP’ yi daha etkin kullanmamızı sağlar.
1.) __LINE__
Kullanıldığı yerdeki satır numarasını getirir.
echo "Satır numarası : ". __LINE__; //ÇIKTI: Satır numarası : 2
2.) __FILE__
Dosya yolu ve dosya ismini getirir.
echo "Dosya yolu : ". __FILE__; //ÇIKTI: Dosya yolu : C:\Bitnami\wampstack-7.3.25-0\apache2\htdocs\learn-lara\app\Http\Controllers\FrontController.php
3.) __DIR__
Dosyanın bulunduğu dizini döndürür.
echo "Klasör yolu : ". __FILE__; //ÇIKTI: Klasör yolu : C:\Bitnami\wampstack-7.3.25-0\apache2\htdocs\learn-lara\app\Http\Controllers
4.) __FUNCTION__
Bir fonksiyonun içinde kullanıldığında içinde bulunduğu fonksiyonun ismini getirir.
public function myFunction() { echo "Fonksiyon ismi : ". __FUNCTION__; } //ÇIKTI: Fonksiyon ismi : myFunction
5.) __CLASS__
Bir sınıfın içinde kullanıldığında içinde bulunduğu sınıfın ismini getirir. Trait’ ler içinde de kullanılır.
class FooBar { public function getClassName(){ return __CLASS__; } } $obj = new FooBar(); echo $obj->getClassName(); //ÇIKTI: FooBar
6.) __TRAIT__
Bir trait’ in içinde kullanıldığında içinde bulunduğu traitin ismini getirir.
trait FooBarTrait{ function myTraitFunction(){ echo __TRAIT__; } } class Student{ use FooBarTrait; } $a = new Company; $a->myTraitFunction(); //ÇIKTI: FooBarTrait
7.) __METHOD__
Kullanıldığı metodun ismini getirir.
class Student { public function myClassMethod(){ return __METHOD__; } } $obj = new Student(); echo $obj->myClassMethod(); //ÇIKTI: myClassMethod
8.) __NAMESPACE__
Geçerli isim alanını getirir.
namespace FooBarNamespace; class Student { public function myMethod() { return __NAMESPACE__; } } $obj = new Company(); echo $obj->myMethod(); //ÇIKTI: FooBarNamespace
9.) SınıfAdı::class
Kullanıldığı sınıfın içinde sınıfın namespace ile birlikte tam adını getirir.
namespace FooBarNamespace; class Student{ } echo Geeks::class; //ÇIKTI: FooBarNamespace\Student
Başarılar.