Синтаксис фигурной скобки PHP для переменной-члена
первый вопрос о SO, и это настоящий кандидат RTM. Но я обещаю вам, что я искал и не могу найти его. Я с радостью сделаю #headpalm, когда это окажется простой вещью, которую я пропустил.
пытаясь выяснить Zend Framework и наткнулся на следующий синтаксис:
$this->_session->{'user_id'}
Я никогда не видел синтаксис фигурных скобок, используемый для доступа к тому, что кажется переменной-членом. Чем он отличается от
$this->_session->user_id
Я предполагаю, что _session не имеет значения, но включение его в вопрос, так как это может быть не так.
являются ли фигурные скобки просто соглашением о чистоте, которое пытается обернуть составное имя переменной user_id? Или это какой-то особый метод?
любые указатели на TFM, чтобы я мог R up, будут скромно оценены.
большое спасибо. Пожалуйста, будь нежен.
5 ответов:
фигурные скобки используются для явного указания конца имени переменной. Например:
echo "This square is {$square->width}00 centimeters broad.";
Итак, ваш случай действительно представляет собой комбинацию двух особых случаев. Вы можете получить доступ к переменным класса с помощью фигурных скобок и так далее:
$class->{'variable_name'} // Same as $class->variable_name $class->{'variable' . '_name'} // Dynamic values are also allowed
и в вашем случае вы просто окружаете их синтаксисом фигурной скобки.
посмотреть PHP manual, " сложный (фигурный) синтаксис."
Я знаю синтаксис только при использовании переменные:
$userProp = 'id'; $this->_session->{'user_'.$userProp};
есть, вероятно, одно большое преимущество этого синтаксиса, однако, как правило, в области волосатых вещей и вещей, которые вы, вероятно, хотите избежать.
Это позволяет использовать символы в именах переменных, которые в противном случае неразрешенные.
ie:
$this->object->{"hello world\n"} $this->object->{"function(){ this is a truely awful name for a variable }"}