после некоторой путаницы в комментариях к
Я думал, что задаюсь вопросом. Согласно руководству PHP, допустимое имя класса должно совпадать с [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
. Но, по-видимому, это не применяется и не применяется ни к чему другому:
define('π', pi());
var_dump(π);
class ␀ {
private $␀ = TRUE;
public function ␀()
{
return $this->␀;
}
}
$␀ = new ␀;
var_dump($␀ );
var_dump($␀->␀());
работает отлично (хотя моя IDE не может показать ␀). Может ли какой-то эрудированный человек понять это для меня? Можем ли мы использовать любой Unicode? И если да, то с каких пор? Не то, чтобы я действительно хотел использовать что-либо, кроме A-Za-z_
, но мне любопытно.
Уточнение: Я не хочу, чтобы Regex проверял имена классов, и не знаю, использует ли PHP внутреннее использование Regex в руководстве. То, что меня смутило (и, видимо, другие ребята в связанном вопросе), - это то, что вообще такие вещи, как $☂ = 1
, можно использовать в PHP. PHP6 предположил, что это выпуск Unicode, но PHP6 находится в перерыве. Но если поддержка Unicode отсутствует, почему я могу это сделать?