39 votes

L'utilisation du séparateur de répertoires est-elle constante?

Je suis à l'aide de PHP, mais je suppose que cette question peut être la langue agnostique.

Avec PHP, une constante est définie par PHP, appelés DIRECTORY_SEPARATOR. J'ai vu cela dans Joomla

define('DS', DIRECTORY_SEPARATOR);

J'ai pensé à ce qui semblait être une bonne idée si je l'ai insérée dans certains de mes sites. Maintenant, je me demande pourquoi. Je n'ai que l'expérience sur Windows et OS X et à partir de ce que je sais, Microsoft, Linux et Apple tous utiliser la barre oblique comme séparateur de répertoire.

Est l'aide de cette constante inutiles?

22voto

todofixthis Points 4206

Aussi loin que PHP est concerné, vous ne pourriez pas besoin de cela lors de la construction d'un chemin d'accès, mais il est important pour tout ce que vous obtenez à partir de l'OS.

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

Dans la tentative d'écriture de la croix-plate-forme, portable code PHP, j'ai utilisé PHP DIRECTORY_SEPARATOR constante pour écrire des chaînes de chemin d'accès, par exemple, "..".DIRECTORY_SEPARATOR."foo", parce que la “bonne” façon de le faire sur Windows serait "..\foo" alors que sur tout le reste (Linux, UNIX, Mac OS X), il serait "../foo".

Eh bien, en tant que Chrétien sur php.net souligné et les gars de la Conception Web Forums confirmé, c'est complètement inutile. Tant que vous utilisez la barre oblique “/”, vous serez OK. Windows n'a pas l'esprit, et c'est le mieux pour *nix systèmes d'exploitation.

(À noter qu' DIRECTORY_SEPARATOR est toujours utile pour des choses comme explode-ing un chemin que le système vous a donné. Grâce à Ombrefiel pour le rappeler.)

18voto

Jan Jungnickel Points 1486

Mac OS Classic utilise par exemple ":". Voir Wikipedia pour plus de détails. En outre, il est considéré comme un bon style en évitant les « nombres magiques » ou des constructions similaires.

6voto

David Z Points 49476

Windows utilise en réalité une barre oblique inversée comme séparateur de répertoires, bien que certains environnements dotés de versions Windows traduisent automatiquement les barres obliques inverses et les barres obliques inverses (on pense à Python).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X