在PHP中,__DIR___和diname(__File___)之间有什么区别吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (14)

对我来说也是一样,但我不确定,

因为有许多项目使用dirname(__FILE__)...

提问于
用户回答回答于

他们的结果完全一样 ; 所以,没有什么区别。

例如,以下两行:

var_dump(dirname(__FILE__));
var_dump(__DIR__);

两者都会给出相同的结果:

string '/home/squale/developpement/tests/temp' (length=37)

但是,至少有两点不同:

  • __DIR__只存在于PHP> = 5.3中
    • 这就是为什么dirname(__FILE__)更广泛使用

  • __DIR__在编译时评估,而dirname(__FILE__)意味着函数调用并在执行时评估
    • 所以,__DIR__(或者应该)更快。

扫码关注云+社区