php学习之四(魔术变量)

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"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值