Constantes Mágicas PHP

Resumo : neste tutorial, você aprenderá sobre constantes mágicas do PHP que mantêm valores alterados dependendo de onde são usados.

Introdução às constantes mágicas do PHP

No PHP, constantes regulares armazenam valores que não mudam durante a execução do script. O PHP resolve as constantes definidas pela define()função em tempo de execução e resolve as constantes definidas pela constpalavra-chave em tempo de compilação.

Além das constantes regulares, o PHP possui algumas constantes cujos valores mudam dependendo de onde você as utiliza. Por exemplo, a __LINE__constante retorna o número da linha atual do script atual.

Essas constantes são conhecidas como constantes mágicas. Ao contrário das constantes regulares, o PHP resolve as constantes mágicas em tempo de execução.

A tabela a seguir ilustra as constantes mágicas em PHP:

Nome Descrição
__LINE__ Retorna o número da linha atual do arquivo.
__FILE__ Retorne o caminho completo e o nome do arquivo ou inclua .
__DIR__ Retorne o diretório do arquivo ou inclua. É equivalente a  dirname(__FILE__). O __DIR__ não possui uma barra final ( /), a menos que seja o diretório raiz.
__FUNCTION__ Retorna o nome da função ou  {closure} para funções anônimas .
__CLASS__ Retorne o nome da classe que também inclui o namespace.
__TRAIT__ Retorne o nome da característica que inclui o namespace
__METHOD__ Retorne o nome do método da instância atual.
__NAMESPACE__ Retorne o nome do namespace atual .
ClassName::class Retorne o nome da classe totalmente qualificado.

Exemplo de constante mágica PHP

O exemplo a seguir mostra os valores das constantes mágicas acima:

<?php

namespace App;

class HttpRequest
{
    public function __construct()
    {
        echo 'The current class name is ' .  __CLASS__ . '<br>';
    }
    public function isPost()
    {
        echo 'The current method is ' . __METHOD__ . '<br>';
        
        return $_SERVER['REQUEST_METHOD'];
    }
}

$request = new HttpRequest();

$request->isPost();

echo 'The current namespace is ' . __NAMESPACE__ . '<br>';
echo 'The fully qualified class name is '  . HttpRequest::class . '<br>';
echo 'The current file is ' . __FILE__ . '<br>';
echo 'The current line is ' . __LINE__ . '<br>';
echo 'The current directory is ' . __DIR__  . '<br>';Linguagem de código:  HTML, XML  ( xml )

Saída:

The current class name is App\HttpRequest
The current method is App\HttpRequest::isPost
The current namespace is App
The fully qualified class name is App\HttpRequest
The current file is C:\xampp\htdocs\phptutorial\class.php
The current line is 29
The current directory is C:\xampp\htdocs\phptutorial\Linguagem de código:  texto simples  ( texto simples )

Resumo

  • As constantes mágicas do PHP mantêm valores resolvidos em tempo de execução, não em tempo de compilação.
  • Os valores das constantes mágicas mudam dependendo de onde são usadas.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *