php中' / '和' '的区别是什么?


what is the difference between `/` and `` in php

我试图理解PSR-0中的例子,但无济于事。我知道'是目录分隔符(至少在我的windows操作系统中),在我看来,它不可能等同于/。我用谷歌搜索了它们之间的区别,但没有找到结果。

在Linux或MacOS下运行时,PHP只允许/作为目录分隔符。

当在Windows下运行时,PHP接受/'作为目录分隔符;它对它们完全相同。

在几乎所有情况下,最好总是使用/,因为这将允许您的代码在任何平台上运行。如果您使用'作为目录分隔符,那么您的代码将只能在Windows上工作。

在Windows上的不同之处在于允许与其他可能提供带有'分隔符的路径的软件兼容,但除非您特别需要这样做,否则最好坚持使用/

此外,'在PHP中的另一种用法可能会使您感到困惑(特别是当您提到PSR0时)。'也是PHP 命名空间的分隔符。

命名空间与目录分隔符不同,但它们最终看起来很像目录分隔符,因为通常的做法是组织一个项目,使命名空间与目录结构匹配。这样做是为了让你的代码模块更容易找到,更容易为它们编写自动加载器,因此这是按照PSR0构建项目的推荐方式,但在PHP语言中不是强制性的;命名空间与目录路径不同

术语"反斜杠"是计算中使用最错误的术语之一。人们通常将正斜杠称为反斜杠,尤其是在指url时。网址(url),如http://foo.bar/dash/,包含正斜杠,而不是反斜杠。反斜杠和正斜杠的区别定义如下:

反斜杠:'

斜杠:/

记住反斜杠和正斜杠之间区别的一个好方法是反斜杠向后倾斜('),而正斜杠向前倾斜(/)。

在Windows中,反斜杠用于分隔文件路径中的目录(例如:C:'Program Files'Common Files'microsoft shared)。在基于Unix的系统上,正斜杠也用于同样的目的(例如:/System/Library/Screen Savers)。

正斜杠也可以简单地称为"斜杠",因为它们比反斜杠更常用。(斜杠也用作分隔符号,用来代替单词"或")因此,URL http://foo.bar/dash可以表示为"foo。bar斜杠-破折号"。如果你在分享URL时说"反斜杠",人们会明白你的意思,但你可能会给人留下一个新手的印象。因此,最好养成使用正确术语的习惯。

'用于命名空间,而/是windows文件系统上的路径分隔符,例如C:/Users/Sam/Documents

PSR类加载器允许您做的是,使用您在命名空间中提供的信息从目录中查找和加载类。

例如,一个名为response.php的类可以放在项目根目录下的samayo/http文件夹中,完整路径现在将是samayo/http/response.php, PSR允许您使用名称空间samayo'http'reponse通过更改目录分隔符来加载使用DIRECTORY_SEPARATOR的文件。

'用作命名空间的分隔符,/用作文件的目录分隔符。该示例基于unix系统。

虽然'在你的windows上被用作目录分隔符,但使用/也可以工作(例如加载文件)。但是,如果您想在所有系统上使用正确的目录分隔符,您可以始终使用系统特定的常量DIRECTORY_SEPARATOR