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):
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().
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
|