__LINE__:شماره خط فعلی در فایل اسکریپت که در آن قرار دارد را برمیگرداند. این برای دیباگ کردن مفید است تا بفهمید خطا در کدام قسمت رخ داده است.
<?php
echo "This is line " . __LINE__;
Output: This is line 2
———
__FILE__:مسیر کامل فایل جاری را برمیگرداند. این کانستنت میتواند برای تعیین مکان فایلها هنگام ایجاد مسیرهای داینامیک یا لود کردن فایلها به کار رود.
<?php
echo "This file is " . __FILE__;
Output: This file is C:\Users\{SysName}\Desktop\index.php
———
__DIR__:مسیر دایرکتوری فایل جاری را برمیگرداند. این برای دسترسی به دیگر فایلها یا دایرکتوریها که نسبت به فایل جاری قرار دارند، مفید است.
<?php
echo "Directory path is " . __FILE__;
Output: Directory path is C:\Users\{SysName}\Desktop
———
__FUNCTION__:نام تابع جاری را برمیگرداند. اگر داخل یک تابع نباشید، این کانستنت مقداری خالی برمیگرداند. در صورت داشتن Namespace نام تابع همراه با Namespace برگردانده می شود.
function test() {
echo "Function name is " . __FUNCTION__;
}
test();Output: Function name is test
———
__CLASS__:نام کلاس جاری را برمیگرداند. در صورتی که خارج از یک کلاس باشید، این کانستنت مقداری خالی برمیگرداند. در صورت داشتن Namespace نام کلاس همراه با Namespace برگردانده می شود.
class Sample {
public function getClassName() {
echo "Class name is " . __CLASS__;
}
}
$obj = new Sample();
$obj->getClassName();Output: Class name is Sample
———
__TRAIT__:نام trait جاری را برمیگرداند.در صورتی که خارج از یک Trait باشید، این کانستنت مقداری خالی برمیگرداند. در صورت داشتن Namespace نام تریت همراه با Namespace برگردانده می شود.
trait Sample
{
public function getTraitName() {
echo "Trait name is " . __TRAIT__;
}
}
class Test
{
use Sample;
}
$obj = new Test();
$obj->getTraitName();
Output: Trait name is Sample
———
__METHOD__:نام متد جاری را به همراه نام کلاس برمیگرداند. این برای تشخیص دقیقتر متدی که در آن قرار دارید مفید است. در صورت داشتن Namespace نام متد همراه با Namespace برگردانده می شود.
class Sample {
public function getMethodName() {
echo "Method name is " . __METHOD__;
}
}
$obj = new Sample();
$obj->getMethodName();Output: Method name is Sample::getMethodName
———
__NAMESPACE__:نام فضای نام (namespace) جاری را برمیگرداند. این برای مدیریت کد در پروژههای بزرگ که از نیماسپیسها برای جداسازی کد استفاده میکنند، مفید است.
namespace Test\MyNamespace;
echo "Namespace name is " . __NAMESPACE__;
Output: Namespace name is Test\MyNamespace
———
ClassName::class:نام کامل کلاس را برمیگرداند. در صورت داشتن Namespace نام کلاس همراه با Namespace برگردانده می شود.
<?php
class Sample { }
echo Sample::class;
Output: Sample
👤 AmirHossein
💎 Channel: @DevelopixPHP