Constantes
PHP Manual

Constantes Mágicas

O PHP fornece um grande número de constantes predefinidas para qualquer script que ele execute. A maioria dessas constantes, entretanto, são criadas por várias extensões, e somente estarão presentes quando essas extensões estiverem disponíveis, tanto por carregamento dinâmico quanto por compilação direta.

Há oito constantes mágicas, que mudam dependendo de onde elas são utilizadas. Por exemplo, o valor de __LINE__ depende do número da linha em que é utilizada em seu script. Essas constantes especiais são insensíveis a maiúsculas e minúsculas (case insensitive):

Algumas constantes "mágicas" do PHP
Nome Descrição
__LINE__ A linha atual do script.
__FILE__ O caminho completo e nome do arquivo. Se utilizado dentro de um include, o nome do arquivo incluído será retornado.
__DIR__ O diretório do arquivo. Se usado dentro de um include, o diretório do arquivo incluído é retornado. Isto é equivalente a dirname(__FILE__). Este nome do diretório não possui barra no final, a não ser que seja o diretório raiz.
__FUNCTION__ O nome da função.
__CLASS__ O nome da classe. O nome da classe inclui o namespace em que foi declarado (ex: Foo\Bar). Note que a partir do PHP 5.4, __CLASS__ funciona também em traits. Quando utilizada em um método trait, __CLASS__ é o nome da classe que está utilizando a trait.
__TRAIT__ O nome do trait. O nome do trait incluir o namespace em que foi declarado (ex: Foo\Bar).
__METHOD__ O nome do método de classe.
__NAMESPACE__ O nome do namespace atual.

Veja também get_class(), get_object_vars(), file_exists() and function_exists().

Changelog

Versão Descrição
5.4.0 Adicionada a constante __TRAIT__
5.3.0 Adicionadas as constantes __DIR__ e __NAMESPACE__
5.0.0 Adicionada a constante __METHOD__
5.0.0 Antes desta versão os valores de algumas constantes mágicas eram sempre em letras minúsculas. Agora todos são case-sensitive (contém os nomes da mesma maneira que foram declarados).
4.3.0 Adicionadas as constantes __FUNCTION__ e __CLASS__
4.0.2 __FILE__ sempre contém o caminho absoluto com os links simbólicos resolvidos, enquanto em versões antigas continha o caminho relativo em algumas circunstâncias


Constantes
PHP Manual