У меня есть риторический вопрос относительно хранения данных сеанса в Symfony.
Мы можем хранить данные сеанса как переменные:
// The First Example
$this->getUser()->setAttribute('hash', $hash);
$this->getUser()->setAttribute('name', $name);
Или как массив:
// The Second Example
$this->getUser()->setAttribute('something'
, array('hash' => $hash,'name' => $name));
В первом примере мы можем использовать hasAttribute ('name'), чтобы проверить, установлено ли оно, а во втором примере нам понадобятся две строки кода для такой проверки. Например. Такие методы, как hasAttribute ('name'), не будут работать:
$something = $this->getUser()->getAttribute('something');
if($something['name']) //...
Кроме того, для установки нового значения переменной требуется больше строк:
$something['name'] = 'New value';
$this->getUser()->setAttribute('something', $something);
Но преимуществом наличия массивов для хранения сессий является возможность очистки всего массива сразу.
Может быть, можно манипулировать массивами лучшим способом, о котором я не знаю?
Или, может быть, я ошибаюсь в своих высказываниях вообще ...
Какова лучшая практика?