Intereting Posts
Как сгенерировать сертификат DER / PEM из общедоступного показателя и модуля RSA? самый простой способ запустить новый процесс / поток в PHP Как получить адрес электронной почты при аутентификации пользователя с помощью Google Oauth2 и people.me Редактировать и обрезать загруженное изображение Bootstrap Кнопка загрузки состояния загрузки JQuery, как заставить другие состояния делать то же самое Проверка транзакции Paypal через информацию POST Как получить данные из базы данных и отобразить их на PHP? Открытие SQLite3 как READONLY с PDO? как отключить массив сообщений? API на основе IP-адреса пользователя разрывы строк и отступы в html-выходе Не удалось загрузить изображение в php Как диагностировать внутреннюю ошибку сервера (HTTP 500) со страницы PHP в IIS 7.5 Отправка formData с Uploadify, не работающая с большим размером файла Вставка PDO на основе ключей массива в виде имен столбцов

На PHP мне нужно избегать обратной косой черты?

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

echo 'Application\Models\User'; prints Application\Models\User echo 'Application\\Models\\User'; same output echo 'Application\Model\'User'; gives Application\Model'User 

Итак, это escape-символ, не нужно ли мне его избегать ( \ ), если я хочу обратиться к Application\Models\User ?

Solutions Collecting From Web of "На PHP мне нужно избегать обратной косой черты?"

В одинарных кавычках признаны только escape-последовательности \\ и \' ; любое другое вхождение \ интерпретируется как простой символ.

Так как \M и \U являются допустимыми escape-последовательностями, они интерпретируются так, как они есть.

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

См. Руководство .

Поскольку ваш последний пример содержит цитату ( ' ), вам нужно избежать таких строк с addslashes функции addslashes или просто добавить косую черту прежде, чем она будет выглядеть так:

 'Application\Model\\'User' 

Вы найдете полное объяснение здесь: http://nl.php.net/manual/en/language.types.string.php

Я думаю, что это зависит от контекста, но лучше избегать обратных косых черт, если использовать его в пути к файлам.

Еще одна хорошая идея – назначить разделитель каталогов константе, которую я видел в разных приложениях раньше, и использовать ее так:

 <?php define('DIRECTORY_SEPARATOR', '\\'); echo 'Application'.DIRECTORY_SEPARATOR . 'Models' . DIRECTORY_SEPARATOR . 'User'; ?> 

Если вы хотите экономить место и печатать, другие используют DS для постоянного имени.

 <?php define('DS', '\\'); echo 'Application'.DS.'Models'.DS.'User'; ?> 

Это переносит ваше приложение переносимым, если вы перейдете из среды Windows в среду * nix, так как вы можете просто изменить константу разделителя каталога на косую черту.