Я собираюсь настроить параметры PHPStorm для отладки в PHP с помощью xDebug, читая эту страницу из руководства: http://www.jetbrains.com/phpstorm/webhelp/configuring-breakpoints.html
На шаге 2 есть: «Чтобы оценить выражение в контексте точки останова и отобразить его значение в консоли отладки, установите флажок Записывать оцененное выражение и введите допустимое выражение в поле параметра. .".
Теперь, что должно быть «действительным выражением»?
Например, моя точка останова («точки» — это правильный технический глагол/термин?) на строку 341 файла Joomla! файл библиотеки cms (см.: https://github.com/joomla/joomla-cms/blob/3.2.x/libraries/joomla/input/input.php#L341).
Это метод десериализации сериализованных строк, и он ломает мой модульный тест. Поэтому я хотел бы знать, какое значение имеет строка при передаче методу.
В строке 341, где тест прерывается, используется PHP-конструкция list() для присвоения трем различным свойствам несериализованных значений переданного $input.
Но функция unserialize($input) не работает, и я хотел бы знать, почему, поэтому я установил точку останова.
/**
* Method to unserialize the input.
*
* @param string $input The serialized input.
*
* @return JInput The input object.
335 *
336 * @since 12.1
337 */
338 public function unserialize($input)
339 {
340 // Unserialize the options, data, and inputs.
() 341 list($this->options, $this->data, $this->inputs) = unserialize($input);
342
343 // Load the filter.
344 if (isset($this->options['filter']))
...
Теперь, поскольку я хотел бы знать значение $input, поскольку это строка, которую unserialize() не может обработать, я думаю, что мне нужно использовать параметр «Выражение с оценкой журнала» в PHPStorm, чтобы он регистрировал в консоли значение $input, но, опять же, что я должен написать в поле PHPStorm?