Я читаю код RAW отсюда http://www.zfsnippets.com/snippets/view/id/17/output/raw/table-view-helper, где автор делает много слэш-экранов, как это \'class\'
.Почему этот код полон косых черт
protected $_attribs = array(
\'class\' => \'table\',
\'cellpadding\' => \'0\',
\'cellspacing\' => \'0\',
\'border\' => \'0\',
);
Из чего я понимаю, это должен быть код, который будет использоваться для построения разметки таблицы. Почему именно автор делает это таким образом и не существует лучшего способа, чем это отвратительное обходное решение. Я думал, что двойные кавычки должны делать "'class'"
, но не уверены. Кто-нибудь знает наверняка, как правильно это сделать?
Это везде, где этот var называется. Это в основном используется после того, что в стиле сеттер геттерного с array_merge
Я думаю
public function setAttribs($options = null)
{
if (is_array($options)) {
$this->_attribs = array_merge($this->_attribs, $options);
}
return $this;
}
Являются ли двойные кавычки менее «отвратительными»? Является ли обратная косая черта «обходным путем»? Кажется, это было бы точно такое же количество символов в любом случае. – Ken 2010-12-17 01:59:51
Полный файл кода, пожалуйста? Я думаю, что это фрагмент кода, который получает `eval`'ed. Я протестировал ` Php array (\ 'x \' => \ 'y \');` и синтаксическая ошибка произошла, как ожидалось. Использование двойных кавычек потребует экранирования `$`. Лучший способ избежать выхода - использовать nowdocs http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc – 2010-12-17 02:00:10