ثابت های جادویی یا Magic constants در php

تاریخ: 02 شهریور 1399

ثابت های جادویی یا magic constants نوع خاصی از ثابت های از پیش تعریف شده (predefined) هستند.

در php نه تا ثابت جادویی داریم که هشت تای آن ها با دو کاراکتر unsrescore شروع شده و پایان می یابند.

لیست ثابت های جادویی در php:

  1. __LINE__
  2. __FILE__
  3. __DIR__
  4. __FUNCTION__
  5. __CLASS__
  6. __TRAIT__
  7. __METHOD__
  8. __NAMESPACE__
  9. ClassName::class

 

ثابت های جادویی به حروف کوچک و بزرگ حساس نیستند و اصطلاحا case-insensitive می باشند.

 

ثابت جادویی __LINE__

ثابت جادویی __LINE__ عدد خط فعلی در فایل را برای ما بر می گرداند:


<?php
$x = 'This line number is: ';

//write the code
echo $x . __LINE__; //output: 5

 

ثابت جادویی __FILE__

ثابت جادویی __FILE__ آدرس مطلق فایل جاری را بر می گرداند:

مثلا در فایل اصلی افزونه ووکامرس با وردپرس نصب شده در لوکال سرور:

echo __FILE__;

/*output:
C:\wamp64\www\app\wp-content\plugins\woocommerce\woocommerce.php
*/

 

اگر بخواهیم دایرکتوری فایل فعلی را بگیریم خیلی راحت از تابع dirname استفاده می کنیم:


echo dirname(__FILE__);

/*output:
C:\wamp64\www\app\wp-content\plugins\woocommerce
*/

 

ثابت جادویی __DIR__

این ثابت دایرکتوری فایل جاری را بر می گرداند. دقیقا کاری که با تابع dirname و ثابت __FILE__ انجام دادیم:


echo __DIR__;

/*output:
C:\wamp64\www\app\wp-content\plugins\woocommerce
*/

 

پس دقیقا مانند هم عمل می کنند:


echo dirname(__FILE__)==__DIR__; //output: 1

 

 

دیدگاهتان را بنویسید

طراحی افزونه وردپرس