加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

浅谈PHP中的那些魔术常量

发布时间:2020-12-10 20:59:33 所属栏目:编程 来源:网络整理
导读:这篇文章首要先容了浅谈PHP中的那些把戏常量,文中通过示例代码先容的很是具体,对各人的进修可能事变具有必然的参考进修代价,必要的伴侣们下面跟着小编来一路

之前我们已经相识了一些常用的把戏要领,除了把戏要领外,PHP还提供一些把戏常量,信托各人在一般的事变中也都行使过,这里给各人做一个总结。

着实PHP还提供了许多常量但都依靠于种种扩展库,而有几个常量是通用而且是跟从它们地址代码的位置来提供一些与位置有关的信息,这些就是把戏常量。把戏常量是不分巨细写的,__LINE__和__line__是一样的,但对付工程化的开拓来说,常量照旧只管以大写为主。

__LINE__

文件中的当前行号。

echo __LINE__ . PHP_EOL; // 3 function testLine() { echo __LINE__ . PHP_EOL; // 7 } class TestLineClass { function testLine() { echo __LINE__ . PHP_EOL; // 14 } } testLine(); $test = new TestLineClass(); $test->testLine();

__FILE__

文件的完备路径和文件名。假如用在被包括文件中,则返回被包括的文件名。自 PHP 4.0.2 起,__FILE__ 老是包括一个绝对路径(假如是标记毗连,则是理会后的绝对路径),而在此之前的版本偶然会包括一个相对路径。

echo __FILE__ . PHP_EOL; // D:phpprojectphpnewblogphp-magic-constant.php

__DIR__

文件地址的目次。假如用在被包罗文件中,则返回被包罗的文件地址的目次。它等价于 dirname(__FILE__)。除非是根目次,不然目次中名不包罗末端的斜杠。(PHP 5.3.0中新增) =

echo __DIR__ . PHP_EOL; // D:phpprojectphpnewblog

__FUNCTION__

函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被界说时的名字(区分巨细写)。在 PHP 4 中该值老是小写字母的。

echo __FUNCTION__ . PHP_EOL; // 啥都没输出 function testFunction() { echo __FUNCTION__ . PHP_EOL; // testFunction } class TestFunctionClass { function testFunction1() { echo __FUNCTION__ . PHP_EOL; // testFunction1 } } testFunction(); $test = new TestFunctionClass(); $test->testFunction1();

__CLASS__

类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被界说时的名字(区分巨细写)。在 PHP 4 中该值老是小写字母的。类名包罗其被声明的浸染地区(譬喻 FooBar)。留意自 PHP 5.4 起 __CLASS__ 对 trait 也起浸染。当用在 trait 要领中时,__CLASS__ 是挪用 trait 要领的类的名字。

echo __CLASS__ . PHP_EOL; // 什么也没有 function testClass() { echo __CLASS__ . PHP_EOL; // 什么也没有 } trait TestClassTrait { function testClass2() { echo __CLASS__ . PHP_EOL; // TestClassClass } } class TestClassClass { use TestClassTrait; function testClass1() { echo __CLASS__ . PHP_EOL; // TestClassClass } } testClass(); $test = new TestClassClass(); $test->testClass1(); $test->testClass2();

__TRAIT__

Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被界说时的名字(区分巨细写)。Trait 名包罗其被声明的浸染地区(譬喻 FooBar)。

echo __TRAIT__ . PHP_EOL; // 什么也没有 function testTrait() { echo __TRAIT__ . PHP_EOL; // 什么也没有 } trait TestTrait { function testTrait2() { echo __TRAIT__ . PHP_EOL; // TestTrait } } class TestTraitClass { use TestTrait; function testTrait1() { echo __TRAIT__ . PHP_EOL; // 什么也没有 } } testTrait(); $test = new TestTraitClass(); $test->testTrait1(); $test->testTrait2();

__METHOD__

类的要领名(PHP 5.0.0 新加)。返回该要领被界说时的名字(区分巨细写)。

echo __METHOD__ . PHP_EOL; // 什么也没有 function testMethod() { echo __METHOD__ . PHP_EOL; // testMethod } class TestMethodClass { function testMethod1() { echo __METHOD__ . PHP_EOL; // TestMethodClass::testMethod1 } } testMethod(); $test = new TestMethodClass(); $test->testMethod1();

__NAMESPACE__

当前定名空间的名称(区分巨细写)。此常量是在编译时界说的(PHP 5.3.0 新增)。

echo __NAMESPACE__ . PHP_EOL; // testmagicconstant class TestNameSpaceClass { function testNamespace() { echo __NAMESPACE__ . PHP_EOL; // testmagicconstant } } $test = new TestNameSpaceClass(); $test->testNamespace();

完备代码:https://github.com/zhangyue0503/php/blob/master/newblog/php-magic-constant.php

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读