Подтвердить что ты не робот

Нужно ли использовать константу сепаратора каталога?

Я использую PHP, но я думаю, что этот вопрос может быть агностическим.

С PHP константа определяется PHP, называемой DIRECTORY_SEPARATOR. Я видел это в Joomla

define('DS', DIRECTORY_SEPARATOR);

Я думал, что это похоже на хорошую идею, поэтому я включил ее в некоторые из моих сайтов. Теперь я спрашиваю себя, почему. У меня есть только опыт в Windows и OS X, и из того, что я знаю, Microsoft, Linux и Apple используют косую черту в качестве разделителя каталогов.

Использовать эту константу не нужно?

4b9b3361

Ответ 1

Mac OS Classic использует, например, ":". Подробнее см. Wikipedia. Также он считал хороший стиль, избегая магических чисел или похожих конструкций.

Ответ 2

Что касается PHP, вам может не понадобиться его при построении пути, но это важно для всего, что вы получаете от ОС.

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

При попытке написать кросс-платформенный переносимый PHP-код я использовал константу DIRECTORY_SEPARATOR PHP для записи строк строк, например. "..".DIRECTORY_SEPARATOR."foo", потому что "правильный" способ сделать это в Windows будет "..\foo", а во всем остальном (Linux, UNIX, Mac OS X) это будет "../foo".

Ну, как отметил христианин на php.net, и ребята на форумах веб-дизайна подтвердили, что это совершенно не нужно. Пока вы используете косую черту, "/", все будет в порядке. Windows не против, и это лучше всего для операционных систем * nix.

(Обратите внимание, что DIRECTORY_SEPARATOR по-прежнему полезен для таких вещей, как explode - путь, который вам дала система. Благодаря Shadowfiend для указания этого.)

Ответ 3

Windows фактически использует обратную косую черту в качестве разделителя каталогов, хотя в некоторых средах, имеющих версии Windows, будет автоматически транслироваться между косой чертой и обратными косыми чертами (на ум приходит Python).