php学习之四(魔术变量)

    xiaoxiao2021-03-25  95

    PHP 魔术变量

    PHP 向它运行的任何脚本提供了大量的预定义常量。

    不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

    有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

    例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:

    <?php // 八个魔术常量 namespace MyProject; echo "[1]--------__LINE__------------<br>"; echo "这是第".__LINE__."行.<br>"; echo "[2]--------__FILE__------------<br>"; echo "文件位于".__FILE__.".<br>"; echo "[3]--------__DIR__------------<br>"; echo "目录位于".__DIR__.".<br>"; echo "[4]--------__FUNCTION__------------<br>"; function test() { echo '函数名为:'. __FUNCTION__.".<br>"; } test(); echo "[5]--------__CLASS__------------<br>"; class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__. "<br>" ; } } $t = new test(); $t->_print(); echo "[6]--------__TRAIT__------------<br>"; 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(); echo "<br>[7]--------__METHOD__------------<br>"; function test1() { echo '函数名为:' . __METHOD__ ."<br>"; } test1(); echo "[8]--------__NAMESPACE__------------<br>"; echo '命名空间为:"', __NAMESPACE__, '"'; ?> 运行结果: [1]--------__LINE__------------ 这是第4行. [2]--------__FILE__------------ 文件位于F:\wamp64\www\phptest\magicVar.php. [3]--------__DIR__------------ 目录位于F:\wamp64\www\phptest. [4]--------__FUNCTION__------------ 函数名为:MyProject\test. [5]--------__CLASS__------------ 类名为:MyProject\test 函数名为:_print [6]--------__TRAIT__------------ Hello World! [7]--------__METHOD__------------ 函数名为:MyProject\test1 [8]--------__NAMESPACE__------------ 命名空间为:"MyProject"
    转载请注明原文地址: https://ju.6miu.com/read-21628.html

    最新回复(0)