PHP provides a large number of predefined constants to any script it runs. However, many constants are defined by different extensions, and are only present when the extensions are loaded, either dynamically after loading, or they are included at compile time.
There are eight magic constants whose values change as they change position in the code. For __LINE__
example, a value depends on the row it is in the script to determine. These special constants are case-insensitive, as follows:
several "Magic constants" for PHP
name |
Description |
__LINE__ |
The current line number in the file. |
__FILE__ |
The full path and file name of the file. If used in the included file, returns the file name that is included. Since PHP 4.0.2, __FILE__ always contains an absolute path (if the symbolic connection is the resolved absolute path), and the previous version sometimes contains a relative path. |
__DIR__ |
The directory where the file resides. If used in the included file, returns the directory where the included files are located. It is equivalent to dirname (__file__). Unless it is a root directory, the name in the directory does not include the trailing slash. (New in PHP 5.3.0) = |
__FUNCTION__ |
The name of the function (PHP 4.3.0 new addition). From PHP 5 This constant returns the name (case-sensitive) when the function is defined. In PHP 4, this value is always in lowercase letters. |
__CLASS__ |
The name of the class (PHP 4.3.0 new addition). From PHP 5 This constant returns the name of the class when it is defined (case-sensitive). In PHP 4, this value is always in lowercase letters. The class name includes its declared action area (for example, Foo\bar). Note since PHP 5.4, __CLASS__ has also worked for trait. When used in the trait method, __class__ is the name of the class that invokes the trait method. |
__TRAIT__ |
Trait's name (PHP 5.4.0 new Plus). From PHP 5.4 This constant returns the name of the trait when it is defined (case-sensitive). The Trait name includes its declared function area (for example, Foo\bar). |
__METHOD__ |
The method name of the class (PHP 5.0.0 new addition). Returns the name of the method when it is defined (case-sensitive). |
__NAMESPACE__ |
The name of the current namespace (case-sensitive). This constant is defined at compile time (PHP 5.3.0 is new). |
Several "Magic constants" for PHP