Я пытаюсь понять примеры в PSR-0, но безрезультатно. Я знаю, что \
является разделителем каталогов (по крайней мере, в моей ОС Windows), и, по моему скромному мнению, он не может быть эквивалентен /
. Я искал разницу между ними и не нашел результата.В чем разница между `/` и `` в php
ответ
При работе под Linux или MacOS PHP разрешает только /
в качестве разделителя каталогов.
При работе под Windows PHP принимает либо /
, либо \
в качестве разделителя каталогов; он относится к ним точно так же.
Практически во всех случаях лучше всегда использовать /
, потому что это позволит вашему коду работать на любой платформе. Если вы используете \
для разделителей каталогов, ваш код будет работать только в Windows.
Разница в Windows заключается в обеспечении совместимости с другим программным обеспечением, которое может содержать пути с разделителями \
, но если вам это специально не нужно, лучше придерживаться /
.
Кроме того, существует другое использование \
в PHP, которое может вас смутить (особенно, как вы упомянули PSR0). \
также является разделителем для PHP пространств имен.
Пространства имен: не такие же, Это делается для того, чтобы ваши кодовые модули легко находили и легко записывали автозагрузчик для них, поэтому рекомендуется структурировать проект в соответствии с PSR0, но он не является обязательным для языка PHP; пространства имен не совпадают с путями каталогов.
Обратная косая черта также имеет особое значение внутри строк, например. newlines - '\ n', а в регулярных выражениях, например. '\ s' является символом пробела. Чтобы использовать пути с обратными косыми чертами в литеральных строках, вам нужно хорошее понимание того, как PHP интерпретирует строковые литералы. Использование косой черты сбрасывает вам головную боль. – alexis
@alexis, я вижу большое спасибо –
\
используется для namespacing тогда /
является Разделительный на окна файловой системы, например C:/Users/Sam/Documents
Что PSR загрузчики классов позволяют сделать это, чтобы найти и классы нагрузки из каталогов, используя предоставленную вами информацию в пространстве имен ,
Например, класс, называемый response.php
может быть помещен в папке samayo/http
в корневом каталоге ваших проектов и полный путь будет samayo/http/response.php
теперь PSR позволяет использовать пространство имен samayo\http\reponse
, чтобы загрузить файл, используя DIRECTORY_SEPARATOR
путем изменения разделители каталогов и немного больше за сценой
Благодарим вас за предоставленный пример сэром. –
\
используется как разделитель для пространств имен, а /
используется как разделитель каталогов для файлов. Пример основан на системе unix.
Хотя \
используется в качестве разделителя каталогов на ваших окнах, используя /
, также будет работать (например, для загрузки файлов). Но если вам нужен правильный разделитель каталогов на всех системах, вы всегда можете использовать постоянную систему DIRECTORY_SEPARATOR
.
спасибо за 'DIRECTORY_SEPARATOR' и за ответ. –
Термин «обратная косая черта» относится к числу наиболее часто используемых терминов при вычислении. Люди часто ссылаются на косые черты как обратную косую черту, особенно при обращении к URL-адресам.Веб-адреса (URL), такие как http://foo.bar/dash/, содержат косые черты, а не обратную косую черту. Разница между обратной косой черты и слэшем определен ниже:
Backslash: \
вперед Slash:/
Хороший способ запомнить разницу между обратной косой чертой и слэшем является то, что обратная косая черта наклоняется назад (\), а передняя косая черта наклоняется вперед (/).
В обратных косах обратной связи Windows используются для разделения каталогов в путях файлов (например: C: \ Program Files \ Common Files \ microsoft shared). На основе систем Unix для одной и той же цели используются косые черты (например:/System/Library/Screen Savers).
Прямые косые черты также можно назвать просто «косыми чертами», поскольку они гораздо чаще используются, чем обратные косые черты. (Сляки также используются в качестве символов разделения и вместо слова «или.»). Поэтому URL-адрес http://foo.bar/dash может быть вербализован, «foo dot bar slash dash». Если вы говорите «обратную косую черту» при совместном использовании URL-адреса, люди будут знать, что вы имеете в виду, но вы можете встретить как noob. Поэтому лучше всего привыкнуть к правильному термину.
Да, хороший способ отличить их. спасибо за всю информацию. Я добавляю это в концепцию пространства имен, так как это меня путало +1 –
- 1. В чем разница между. = И + = в PHP?
- 2. В чем разница между 'и "в PHP
- 3. В чем разница между PHP и включать?
- 4. Php: В чем разница между | и || Оператор
- 5. В чем разница между PHP и ASP?
- 6. В чем разница между PHP и Java?
- 7. В чем разница между «и»?
- 8. В чем разница между `{}` и `[]`?
- 9. В чем разница между == и ===?
- 10. В чем разница между «+» и «\ +»?
- 11. В чем разница между + = и = +?
- 12. В чем разница между/* ... */и/** ... */
- 13. В чем разница между: и +:
- 14. В чем разница между $ {} и # {}
- 15. В чем разница между $ _. и $ _
- 16. В чем разница между = и: =
- 17. В чем разница между && и &?
- 18. В чем разница между $ {} и # {}?
- 19. В чем разница между + и%?
- 20. В чем разница между + = и = +
- 21. В чем разница между # {} $ {} и% {}?
- 22. В чем разница между «» и «»?
- 23. В чем разница между ['#'] и [. = '#']?
- 24. В чем разница между == ~ и! =?
- 25. В чем разница между «/» и «/ *»?
- 26. В чем разница между «./» и «../»?
- 27. В чем разница между {}()) и {})()
- 28. В чем разница между «'» и «»
- 29. В чем разница между «и«
- 30. В чем разница между этим в php?
К счастью, это не вопрос мнения, так что ваше мнение ничего не меняет. Да, Windows использует обратную косую черту «\», где другие системы используют «/», и да PHP не нуждается в специальной обработке для этого большую часть времени при создании путей к файлам. Вы можете просто использовать обычную косую черту даже в Windows. – Elin
На самом деле «\» и «/» служат для разных целей в PHP ... все зависит от того, что вы делаете. –
Обратная косая черта в дорожках - это наследие от MS-DOS 2.0 (версия 1.0 вообще не имела каталогов). Он был выбран по сравнению с традиционными '/' передними косыми чертами, чтобы запутаться, откуда была получена идея. Однако стандартные разделители каталогов '/' также работали в DOS/Windows с тех пор. – mario