Я использую PHP, но я Угадай этот вопрос может быть независимым от языка.
В PHP константа определяется PHP и называется DIRECTORY_SEPARATOR
, Я видел это в Joomla
define('DS', DIRECTORY_SEPARATOR);
Я подумал, что это хорошая идея, поэтому я включил ее в некоторые из своих сайтов. Теперь я спрашиваю себя, почему. У меня есть только опыт работы с Windows и OS X, и, насколько я знаю, Microsoft, Linux и Apple используют косую черту в качестве разделителя каталогов.
Является ли использование этой константы ненужным?
Mac OS Classic, например, использует «:». Увидеть Википедия для деталей. Также это считается хорошим стилем, избегающиммагические числаили подобные конструкции.
Что касается PHP, он может вам не понадобиться при построении пути, но это важно для всего, что вы получаете от ОС.
От http://alanhogan.com/tips/php/directory-separator-not-necessary:
Пытаясь написать кроссплатформенный переносимый код PHP, я использовал константу PHP DIRECTORY_SEPARATOR для записи строк пути, например,
"..".DIRECTORY_SEPARATOR."foo"
потому что «правильный» способ сделать это в Windows будет"..\foo"
в то время как на всем остальном (Linux, UNIX, Mac OS X) это будет"../foo"
,Ну как христианин на php.net ребята на форумах веб-дизайна подтвердили, что в этом нет необходимости. Пока вы используете косую черту «/», все будет в порядке. Windows не возражает против этого, и это лучше для * nix операционных систем.
(Обратите внимание, что
DIRECTORY_SEPARATOR
все еще полезно для таких вещей, какexplode
путь, который система дал вам. Спасибо Shadowfiend за указание на это.)
Windows фактически использует обратную косую черту в качестве разделителя каталогов, хотя в некоторых средах с версиями для Windows прямая и обратная косые черты автоматически переводятся (на ум приходит Python).