Я столкнулся с тем, что выглядит как странный крайний случай с процессором PHP. Согласно инструкции PHP:
Переменные в PHP представлены знаком доллара, за которым следует имя
переменной. Имя переменной чувствительно к регистру.
Имена переменных следуют тем же правилам, что и другие метки в PHP. Действительный
имя переменной начинается с буквы или подчеркивания, за которыми следует любая
количество букв, цифр или подчеркиваний.
Случай с краем, который я видел, это тот случай, когда символ сразу после знака доллара не является буквой или подчеркиванием (или какой-либо другой комбинацией метасимволов, которая вызовет особое значение, например второй знак доллара). Вот пример:
$someVariable = "This is a $(test of our edge case).";
Я могу вывести эту переменную с помощью оператора echo
, и знак доллара перед словом test отображается без проблем (не нужно было бежать). Насколько я могу судить, PHP не выдает никаких ошибок или предупреждений. Итак, теперь на мой вопрос: это крайний случай в грамматике процессора? Это ошибка? Или это какая-то другая интерпретация, которую я упускаю из виду?
Мне хорошо известно, что в качестве хорошей практики программирования всегда следует избегать знака доллара в строке в двойных кавычках, когда нужно напечатать указанный символ (или можно просто использовать строку в одинарных кавычках). Мне было просто любопытно, почему этот случай не обязательно требует побега до знака доллара.