我看到很多人做这样的事情:
define('DS', DIRECTORY_SEPARATOR);
include __DIR__ . DS . 'path' . DS . 'to' . DS . 'file.php';
并且想知道如果在使用 /
而不是 '
时在 Windows 上一切正常,他们为什么要这样做。在百万分之一的情况下,这实际上是必要的?
这些常量存在的原因是为了向后兼容性、可移植性和可重用性。
底层的 curcumstances 可能会改变(也许你在 Windows 机器上开发,但你的服务器是基于 Centos?或 Debian 的,在这种情况下,目录分隔符是不同的。
或者也许发布了一些新标准,将分隔符更改为更统一的字符。在这种情况下,您需要返回到引用目录的每个实例并更改分隔符(上帝愿意PHP删除一些魔法)。
对一遍又一遍重复使用的东西有一个参考点是一种很好的编码习惯,这可能会被改变。