Magic Constants

در PHP یک سری ثابت‌های جادویی (Magic Constants) وجود دارند که مقدارشان به‌طور خودکار توسط PHP تعیین می‌شود و بسته به محل استفاده تغییر می‌کنند.
این ثابت‌ها همیشه با دو خط زیرخط (__) شروع و تمام می‌شوند.

🔹 لیست Magic Constants در PHP

1. __LINE__

شماره خطی که در آن قرار دارد را برمی‌گرداند.

echo __LINE__; // مثلا خروجی: 5

2. __FILE__

مسیر و نام کامل فایل جاری.

echo __FILE__; // C:\xampp\htdocs\index.php

3. __DIR__

فقط مسیر پوشه فایل جاری (از PHP 5.3 به بعد).

echo __DIR__; // C:\xampp\htdocs

4. __FUNCTION__

نام تابع جاری.

function test() { echo __FUNCTION__; } test(); // خروجی: test

5. __CLASS__

نام کلاس جاری را نمایش می‌دهد.

class MyClass { public function show() { echo __CLASS__; } } $obj = new MyClass(); $obj->show(); // خروجی: MyClass

6. __METHOD__

نام متد جاری (شامل کلاس + متد).

class MyClass { public function show() { echo __METHOD__; } } $obj = new MyClass(); $obj->show(); // خروجی: MyClass::show

7. __NAMESPACE__

نام فضای نام (Namespace) جاری را نمایش می‌دهد.

namespace MyApp; echo __NAMESPACE__; // خروجی: MyApp

8. __TRAIT__

نام Trait جاری (از PHP 5.4).

trait MyTrait { public function show() { echo __TRAIT__; } } class MyClass { use MyTrait; } $obj = new MyClass(); $obj->show(); // خروجی: MyTrait

✅ خلاصه

  • __LINE__ → شماره خط

  • __FILE__ → مسیر و نام فایل

  • __DIR__ → پوشه فایل

  • __FUNCTION__ → نام تابع

  • __CLASS__ → نام کلاس

  • __METHOD__ → نام متد (کلاس::متد)

  • __NAMESPACE__ → فضای نام

  • __TRAIT__ → نام Trait