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 : myFunction5.) __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: FooBar6.) __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: FooBarTrait7.) __METHOD__
Kullanıldığı metodun ismini getirir.
class Student
{
public function myClassMethod(){
return __METHOD__;
}
}
$obj = new Student();
echo $obj->myClassMethod();
//ÇIKTI: myClassMethod8.) __NAMESPACE__
Geçerli isim alanını getirir.
namespace FooBarNamespace;
class Student {
public function myMethod() {
return __NAMESPACE__;
}
}
$obj = new Company();
echo $obj->myMethod();
//ÇIKTI: FooBarNamespace9.) 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\StudentBaşarılar.