Magic Constants

ম্যাজিক কনস্ট্যান্টস

ম্যাজিক ধ্রুবক হল পিএইচপি-তে পূর্বনির্ধারিত ধ্রুবক যা তাদের ব্যবহারের ভিত্তিতে পরিবর্তিত হয়। এগুলি ডবল আন্ডারস্কোর (__) দিয়ে শুরু হয় এবং ডবল আন্ডারস্কোর দিয়ে শেষ হয়।

এগুলি অন্যান্য পূর্বনির্ধারিত ধ্রুবকের অনুরূপ তবে প্রসঙ্গ সহ তাদের মান পরিবর্তন করার কারণে তাদের জাদু ধ্রুবক বলা হয়।

পিএইচপিতে নয়টি ম্যাজিক কনস্ট্যান্ট রয়েছে। যেটিতে আটটি ম্যাজিক ধ্রুবক ডবল আন্ডারস্কোর (__) দিয়ে শুরু এবং শেষ হয়।

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

নিয়মিত ধ্রুবকের বিপরীতে সমস্ত ধ্রুবকগুলি রান সময়ের পরিবর্তে কম্পাইল-টাইমে সমাধান করা হয়। ম্যাজিক ধ্রুবকগুলি কেস-সংবেদনশীল।

চেঞ্জলগ

Version Description
5.3.0 যোগ করা হয়েছে __DIR__ এবং __NAMESPACE__ জাদু ধ্রুবক
5.4.0 যোগ করা হয়েছে __TRAIT__ জাদু ধ্রুবক
5.5.0 যোগ করা হয়েছে ::শ্রেণীর জাদু ধ্রুবক

সমস্ত ধ্রুবকগুলি উদাহরণ কোড সহ নীচে সংজ্ঞায়িত করা হয়েছে:

1. __LINE__

এটি ফাইলের বর্তমান লাইন নম্বর প্রদান করে, যেখানে এই ধ্রুবকটি ব্যবহৃত হয়।

উদাহরণ:

 
  1. <?php   
  2.     echo “<h3>Example for __LINE__</h3>”;    
  3.     // print Your current line number i.e;4     
  4.     echo “You are at line number “ . __LINE__ . “<br><br>”;  
  5. ?>  

আউটপুট:

Example for __LINE__

You are at line number 4

2. __ফাইল__:

এই জাদু ধ্রুবকটি এক্সিকিউটেড ফাইলের সম্পূর্ণ পাথ ফেরত দেয়, যেখানে ফাইলটি সংরক্ষণ করা হয়। এটি অন্তর্ভুক্ত করার ভিতরে ব্যবহার করা হলে, অন্তর্ভুক্ত ফাইলের নাম ফেরত দেওয়া হয়।

উদাহরণ:

 
  1. <?php   
  2.     echo “<h3>Example for __FILE__</h3>”;    
  3.     //print full path of file with .php extension    
  4.     echo __FILE__ . “<br><br>”;  
  5. ?>  

আউটপুট:

Example for __FILE__

D:\xampp\htdocs\program\magic.php

3. __DIR__:

এটি নির্বাহিত ফাইলের সম্পূর্ণ ডিরেক্টরি পাথ ফেরত দেয়। এই ম্যাজিক ধ্রুবক দ্বারা ফিরে আসা পথটি dirname(__FILE__) এর সমতুল্য। এই ম্যাজিক ধ্রুবকটির কোনো ট্রেলিং স্ল্যাশ থাকে না যদি না এটি একটি রুট ডিরেক্টরি হয়।

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __DIR__</h3>”;    
  3.     //print full path of directory where script will be placed    
  4.     echo __DIR__ . “<br><br>”;  
  5.     //below output will equivalent to above one.  
  6.     echo dirname(__FILE__) . “<br><br>”;    
  7. ?>  

আউটপুট:

__DIR__ এর উদাহরণ

D:\xampp\htdocs\program

D:\xampp\htdocs\program

4. __ফাংশন__:

এই ম্যাজিক ধ্রুবকটি ফাংশনের নাম প্রদান করে, যেখানে এই ধ্রুবকটি ব্যবহার করা হয়। এটি কোনো ফাংশনের বাইরে ব্যবহার করা হলে এটি খালি ফিরে আসবে।

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __FUNCTION__</h3>”;    
  3.     //Using magic constant inside function.    
  4.     function test(){    
  5.         //print the function name i.e; test.   
  6.         echo ‘The function name is ‘__FUNCTION__ . “<br><br>”;   
  7.     }    
  8.     test();    
  9.       
  10.     //Magic constant used outside function gives the blank output.    
  11.     function test_function(){    
  12.         echo ‘Hie’;    
  13.     }    
  14.     test_function();    
  15.     //give the blank output.   
  16.     echo  __FUNCTION__ . “<br><br>”;  
  17. ?>  

আউটপুট:

__FUNCTION__ এর উদাহরণ

The function name is test

Hie

5. __শ্রেণী__:

এটি ক্লাসের নাম প্রদান করে, যেখানে এই জাদু ধ্রুবকটি ব্যবহার করা হয়। __CLASS__ ধ্রুবক এছাড়াও বৈশিষ্ট্য কাজ করে.

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __CLASS__</h3>”;    
  3.     class JTP    
  4.     {    
  5.         public function __construct() {    
  6.             ;    
  7.     }    
  8.     function getClassName(){    
  9.         //print name of the class JTP.   
  10.         echo __CLASS__ . “<br><br>”;   
  11.         }    
  12.     }    
  13.     $t = new JTP;    
  14.     $t->getClassName();    
  15.       
  16.     //in case of multiple classes   
  17.     class base  
  18.     {    
  19.     function test_first(){    
  20.             //will always print parent class which is base here.    
  21.             echo __CLASS__;   
  22.         }    
  23.     }    
  24.     class child extends base    
  25.     {    
  26.         public function __construct() {    
  27.             ;    
  28.         }    
  29.     }    
  30.     $t = new child;    
  31.     $t->test_first();    
  32. ?>  

আউটপুট:

__CLASS__ এর উদাহরণ

JTP

base

6. __TRAIT__:

এই জাদু ধ্রুবক বৈশিষ্ট্য নাম প্রদান করে, যেখানে এটি ব্যবহার করা হয়।

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __TRAIT__</h3>”;    
  3.     trait created_trait {    
  4.         function jtp(){    
  5.             //will print name of the trait i.e; created_trait    
  6.             echo __TRAIT__;  
  7.         }    
  8.     }    
  9.     class Company {    
  10.         use created_trait;    
  11.         }    
  12.     $a = new Company;    
  13.     $a->jtp();    
  14. ?>  

আউটপুট:

__TRAIT__ এর উদাহরণ

created_trait

7. __পদ্ধতি__:

এটি ক্লাস পদ্ধতির নাম প্রদান করে যেখানে এই জাদু ধ্রুবকটি অন্তর্ভুক্ত করা হয়েছে। পদ্ধতির নামটি যেমন ঘোষণা করা হয়েছিল তেমনি ফেরত দেওয়া হয়েছে।

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __METHOD__</h3>”;  
  3.     class method {    
  4.         public function __construct() {    
  5.             //print method::__construct    
  6.                 echo __METHOD__ . “<br><br>”;   
  7.             }    
  8.         public function meth_fun(){    
  9.             //print method::meth_fun    
  10.                 echo __METHOD__;   
  11.         }    
  12.     }    
  13.     $a = new method;    
  14.     $a->meth_fun();  
  15. ?>  

আউটপুট:

__METHOD__ এর উদাহরণ

method:: construct
method:: meth_fun

8. __NAMESPACE__:

এটি বর্তমান নামস্থান ফেরত দেয় যেখানে এটি ব্যবহার করা হয়।

উদাহরণ:

  1. <?php   
  2.     echo “<h3>Example for __NAMESPACE__</h3>”;  
  3.     class name {    
  4.         public function __construct() {    
  5.             echo ‘This line will print on calling namespace.’;     
  6.         }     
  7.     }    
  8.     $class_name = __NAMESPACE__ . ‘\name’;    
  9.     $a = new class_name;   
  10. ?>  

আউটপুট:

__NAMESPACE__ এর উদাহরণ

This line will print on calling namespace.

9. ক্লাসের নাম::শ্রেণী:

এই জাদু ধ্রুবক ডবল আন্ডারস্কোর (__) দিয়ে শুরু এবং শেষ হয় না। এটি ClassName-এর সম্পূর্ণ যোগ্য নাম প্রদান করে। ClassName::class PHP 5.5.0 এ যোগ করা হয়েছে। এটি নামস্থানযুক্ত ক্লাসের সাথে দরকারী।

উদাহরণ:

 
  1. <?php   
  2.     namespace Technical_Portal;  
  3.     echo “<h3>Example for CLASSNAME::CLASS </h3>”;  
  4.     class javatpoint {    
  5.     }  
  6.     echo javatpoint::class;    //ClassName::class   
  7. ?>  

আউটপুট:

ClassName::class এর উদাহরণ


Technical_Portal\javatpoint

দ্রষ্টব্য: মনে রাখবেন নেমস্পেসটি অবশ্যই প্রথম বিবৃতি হতে হবে বা স্ক্রিপ্টে যে কোনও ঘোষণা কলের পরে হবে, অন্যথায় এটি মারাত্মক ত্রুটি তৈরি করবে।



Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top