O melhor tutorial Magia variável PHP em 2024. Neste tutorial você pode aprender __LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__,
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:
Arquivos no número da linha atual.
exemplo:
<?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>
O exemplo acima saída é:
这是第 “ 2 ” 行
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 ”
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 ”
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
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
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!
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
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"