是否需要使用目录分隔符常量?

我正在使用PHP,但我这个问题可能是语言不可知的。

使用PHP,常量由PHP定义,称为DIRECTORY_SEPARATOR 。 我在Joomla看到过这个

 define('DS', DIRECTORY_SEPARATOR); 

我认为这看起来像一个好主意,所以我把它合并到我的一些网站。 现在我在问自己为什么。 我只有在Windows和OS X的经验,从我所知道的微软,Linux和苹果都使用正斜杠作为目录分隔符。

使用这个常量是不必要的?

例如,Mac OS Classic使用“:”。 详情请参阅维基百科 。 此外,它被认为是避免“ 神奇数字 ”或类似构造的好风格。

就PHP而言,构buildpath时可能不需要它,但对于从OS获得的任何内容都很重要。

http://alanhogan.com/tips/php/directory-separator-not-necessary

在尝试编写跨平台,可移植的PHP代码时,我使用了PHP的DIRECTORY_SEPARATOR常量来编写pathstring,例如"..".DIRECTORY_SEPARATOR."foo" ,因为在Windows上“适当”的方式是"..\foo"而在其他任何地方(Linux,UNIX,Mac OS X),它将是"../foo"

那么,就像php.net上的基督教指出的那样,网页devise论坛的人员证实,这是完全没有必要的。 只要你使用正斜杠“/”,你会没事的。 Windows不介意,最好是* nix操作系统。

(请注意, DIRECTORY_SEPARATOR对于explode例如系统给你的path)仍然有用,感谢Shadowfiend指出了这一点。

Windows实际上使用了一个反斜杠作为目录分隔符,虽然有一些Windows版本的环境会自动在正斜杠和反斜杠之间进行转换。