PHP,DDD,CQRS,Event Sourcing,Kubernetes,Docker,Golang

0%

魔术常量__DIR__和__FILE__的用法区别

在写PHP脚本的时候,要定义一个文件目录的绝对路径,通常会使用这两种PHP内置的魔术方法:__DIR__和dirname(__FILE__) 我们可以用var_dump把这两个方法显示结果打印出来看一下

string ‘E:\project\newapp’ (length=17)

你会发现,两个打印结果一样。 但其实他们至少有两处区别:

  1. __DIR__只能用于PHP >= 5.3 版本,这也是为什么大多数你看到的代码中都是使用的dirname(__FILE__)这种写法

  2. __DIR__在编译时运算的,而dirname(__FILE__)要调用函数且在执行时运算

    其他可以参考一下PHP手册, __DIR__:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于dirname(__FILE_\)_。除非是根目录,否则目录中名不包括末尾的斜杠。