Задать вопрос
@glebvvs

Зачем геттеры и сеттеры в zf3?

Всем примет. Никак не могу понять смысл геттеров и сеттеров в сущностях zend. А конкретно вопрос такой.

По факту дока по Zend\Db предлагает нам примерно такой вариант обновления содержимого в кортежах бд, который приведен кодом ниже. И несмотря на то, что в моей сущности Album свойства имеют модификатор доступа protected в результате я тем не менее могу использовать конструкцию $albumRow->artist = 'New Name'; да и к тому же в этом контексте я не могу вместо нее использовать $albumRow->setArtist('New Name');.

$adapter = new Adapter($this->config['db']);
        $resultSetPrototype = new ResultSet();
        $resultSetPrototype->setArrayObjectPrototype(new Album());
        $table = new TableGateway('album', $adapter, new RowGatewayFeature('id'), $resultSetPrototype);

        $results = $table->select(array('id' => 2));
        $albumRow = $results->current();
        $albumRow->artist = 'New Name';
        $albumRow->save();


Естественно я осознаю собственную неопытность, но если я делаю что-то не так, то может кто-то объяснить мне как обновлять, добавлять кортежи в бд используя стандартные инструменты зенд при этом все же руководствуясь не стилем аля актив рекорд, а по человечески с аксесорами и мутаторами.

Хотелось бы видеть то, как можно сделать нечто следующее:

...
        $albumRow->setArtist('New Name');
        $albumRow->setTitle('New Title');
        $albumRow->save();
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Decadal
@Decadal
На самом деле это жажда Doctrine. Используйте её. То, что предлагает зенд по умолчанию, не очень. Даже в самой популярной русскоязычной доке zf3 этому посвящен отдельный раздел

а вот что говорит один из контрибьютеров доктрины и зенд-дб
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы