O PHP fornece um grande número de consntantes 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á sete 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.
Desde o PHP 4.0.2, __FILE__ sempre contém um
caminho absoluto com links simbólicos resolvidos enquanto em versões antigas
ela continha um caminho relativo sob certas circunstâncias.
|
__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. (Adicionado no PHP 5.3.0.) |
__FUNCTION__ |
O nome da função (Acrescentado no PHP 4.3.0). A partir do PHP 5 esta constante retorna o nome da função como ela foi declarada (sensível a maiúsculas e minúsculas). No PHP 4 sempre retorna o nome em minúsculas. |
__CLASS__ |
O nome da classe (Adicionado no PHP 4.3.0). A partir do PHP 5 esta constante retorna o nome da função como ela foi declarada (sensível a maiúsculas e minúsculas). No PHP 4 sempre retorna o nome em minúsculas. 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 do trait em que foi utilizada. |
__TRAIT__ |
O nome do trait. (Adicionado no PHP 5.4.0) A partir do PHP 5.4 essa constante retorna o trait em que fo delcarado (sensível a maiúsculas e minúsculas). O nome do trait incluir o namespace em que foi declarado (ex: Foo\Bar). |
__METHOD__ |
O nome do método de classe. (Adicionado no PHP 5.0.0). O nome do método é retornado como foi declarado (sensível a maiúsculas e minúsculas). |
__NAMESPACE__ |
O nome do namespace atual (sensível a maiúsculas e minúsculas). Esta constante é definida em tempo de compilação (Adicionada no PHP 5.3.0). |
Veja também get_class(), get_object_vars(), file_exists() and function_exists().