Magic Constants in PHP : Tutorial



PHP provides a list of predifined constansts.

Most of these constants are created by various extensions, and will only be present when those extensions are available, either via dynamic loading or because they have been compiled in.

PHP provides eight magical constants that change depending on where they are used.

For example, the value of __LINE__ magic constant changes depending on the line which it is being used.

1. __LINE__

 - Displays the current line number of the file.

2. __FILE__

 Displays the full path and filename of the file.
   If used inside an include, the name of the included file is displayed. 
 
3. __DIR__

 Displays the directory of the file.
   If used inside an include, the directory of the included file is returned.
   
4. __FUNCTION__

  Displays the function name.
  
5. __CLASS__

  Displays the class name.
  
6. __TRAIT__

  Displays the trait name.
  
7. __METHOD__

  Displays the name of the class and the method name.
  
8. __NAMESPACE__

  Displays the namespace.
  
  
Example :
<?php

echo "__LINE__ = ".__LINE__."<br>";
echo "__FILE__ = ".__FILE__."<br>";
echo "__DIR__ = ".__DIR__."<br>";



class Foo {
	
	function Test() {
	
		echo "__METHOD__ = ".__METHOD__."<br>";
		echo "__FUNCTION__ = ".__FUNCTION__."<br>";
		echo "__CLASS__ = ".__CLASS__."<br>";
	}
	
}

$foo = new Foo;
$foo->Test();



?>
Output

__LINE__ = 3 __FILE__ = I:\xampp\htdocs\xampp\Tutorials\magicConstantsTest.php __DIR__ = I:\xampp\htdocs\xampp\Tutorials __METHOD__ = Foo::Test __FUNCTION__ = Test __CLASS__ = Foo