Magic constants

PHP provides a large number of predefined constants to any script
which it runs. Many of these constants, however, 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.

There are five magical constants that change depending on
where they are used. For example, the value of
__LINE__ depends on the line that it's
used on in your script. These special constants are
case-insensitive and are as follows:

Table 4.1. A few "magical" PHP constants

Name

Description

__LINE__

The current line number of the file.

__FILE__

The full path and filename of the file. If used inside an include,
the name of the included file is returned.
Since PHP 4.0.2, __FILE__ always contains an
absolute path whereas in older versions it contained relative path
under some circumstances.

__FUNCTION__

The function name. (Added in PHP 4.3.0) As of PHP 5 this constant
returns the function name as it was declared (case-sensitive). In
PHP 4 its value is always lowercased.

__CLASS__

The class name. (Added in PHP 4.3.0) As of PHP 5 this constant
returns the class name as it was declared (case-sensitive). In PHP
4 its value is always lowercased.

__METHOD__

The class method name. (Added in PHP 5.0.0) The method name is
returned as it was declared (case-sensitive).