ثابت های جادویی یا Magic constants در php
تاریخ:
02 شهریور 1399
ثابت های جادویی یا magic constants نوع خاصی از ثابت های از پیش تعریف شده (predefined) هستند.
در php نه تا ثابت جادویی داریم که هشت تای آن ها با دو کاراکتر unsrescore شروع شده و پایان می یابند.
لیست ثابت های جادویی در php:
- __LINE__
- __FILE__
- __DIR__
- __FUNCTION__
- __CLASS__
- __TRAIT__
- __METHOD__
- __NAMESPACE__
- 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