O melhor tutorial Magia variável PHP em 2024. Neste tutorial você pode aprender __LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__,

Magia variável PHP

Qualquer script PHP para executá-lo fornece um número de constantes predefinidas.

No entanto, muitas constantes são definidas por várias extensões, e somente carregado quando essas extensões irá aparecer, ou dinamicamente carregado ou foi incluído em tempo de compilação para ele.

Há oito constantes mágicas e seus valores como eles mudam de posição no código é alterado.

Por exemplo __LINE__ valor sobre o qual é dependente da linha do script decidir. Essas constantes especiais são insensíveis ao caso, como segue:


__LINE__

Arquivos no número da linha atual.

exemplo:

<?php
echo '这是第 “ '  . __LINE__ . ' ” 行';
?>

O exemplo acima saída é:

这是第 “ 2 ” 行

__FILE__

O caminho completo e nome do arquivo. Se usado no arquivo incluído, em seguida, retornar o nome do arquivo a ser incluído.

Desde o PHP 4.0.2 em diante, __ FILE__ sempre contém um caminho absoluto (se for um link simbólico, é um caminho absoluto analisado), e nesta versão anterior, por vezes, contêm um caminho relativo.

exemplo:

<?php
echo '该文件位于 “ '  . __FILE__ . ' ” ';
?>

O exemplo acima saída é:

该文件位于 “ E:\wamp\www\test\index.php ”

__DIR__

arquivo de catálogo está localizado. Se incluído no arquivo, o diretório está incluído no arquivo é retornado.

É equivalente a dirname (__ FILE__). A menos que seja o diretório raiz ou nome do diretório não inclui uma barra no final. (PHP 5.3.0 add)

exemplo:

<?php
echo '该文件位于 “ '  . __DIR__ . ' ” ';
?>

O exemplo acima saída é:

该文件位于 “ E:\wamp\www\test ”

__FUNCTION__

Nome da função (PHP 4.3.0 adicionado). Desde o PHP esta constante retorna o nome da função como ela foi declarada 5 casos (case-sensitive). No PHP 4 seu valor é sempre minúsculas.

exemplo:

<?php
function test() {
	echo  '函数名为:' . __FUNCTION__ ;
}
test();
?>

O exemplo acima saída é:

函数名为:test

__CLASS__

Nome da classe (PHP 4.3.0 adicionado). Desde o PHP Isso retorna o nome da classe constante é definida como o tempo desde 5 (maiúsculas e minúsculas).

No PHP 4 seu valor é sempre minúsculas. nome da classe, incluindo o papel da área que é declarado (como Foo \ Bar). Nota do PHP 5.4 em diante __CLASS__ de traço também desempenham um papel. Quando usado em métodos de traço, __ método class__ característica é chamar o nome da classe.

exemplo:

<?php
<?php
class test {
	function _print() {
		echo '类名为:'  . __CLASS__ . "<br>";
		echo  '函数名为:' . __FUNCTION__ ;
	}
}
$t = new test();
$t->_print();
?>

O exemplo acima saída é:

类名为:test
函数名为:_print

__TRAIT__

nome Trait (PHP 5.4.0 adicionado). A partir do PHP 5.4.0, PHP implementa um método de reutilização de código, chamadas de traços.

nome do Traço incluindo o papel da área de que é declarado (tais como Foo \ bar).

É coberta da classe base herda membros inserido SayWorld Trait no método MyHelloWorld. comportamento MyHelloWorld abordagem consistente definido na classe. Prioridade é o atual método em uma classe substitui o método traço, método e característica cobrindo o método da classe base.

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

A saída exemplo vontade acima:

Hello World!

__METHOD__

Os métodos para classes (PHP 5.0.0 adicionado). Este método retorna o nome como foi declarado (maiúsculas e minúsculas).

exemplo:

<?php
function test() {
	echo  '函数名为:' . __METHOD__ ;
}
test();
?>

O exemplo acima saída é:

函数名为:test

__NAMESPACE__

Nome do namespace atual (maiúsculas e minúsculas). Esta constante é definida em tempo de compilação (PHP 5.3.0 adicionado).

exemplo:

<?php
namespace MyProject;

echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"
?>

O exemplo acima saída é:

命名空间为:"MyProject"
Magia variável PHP
10/30