Zend Скелет Учебник
Я очень новичок в Zend Framework 2, и я читал документы и изучал их как мог.
Я работаю над учебным пособием по Zend, и все работает, но есть небольшой момент, который я не понимаю.
В контроллере альбомов вы получаете указание вызвать шлюз таблицы, чтобы выбрать все записи - в частности, $this->getAlbumTable()->fetchAll(). Но вызываемый метод - не тот, который я создал, поэтому кто-то может объяснить, как getAlbumTable решает, что он делает. Я бы ожидал вызвать serviceManager так же, как вы вызываете invokable или factory - то есть $sm->get('AlbumTableGateway')
Ценю любой совет, который вы можете дать новичку ZF2.
class AlbumController extends AbstractActionController
{
protected $albumTable;
public function indexAction()
{
return new ViewModel(array(
'albums' => $this->getAlbumTable()->fetchAll(),
));
}
1 ответ
Вы пропустили шаг? $this->getAlbumTable()
(отсутствует в контроллере в вашем коде) должен вернуть экземпляр AlbumTable
, Этот класс (который вы должны были уже создать) имеет fetchAll()
метод.
Взгляните на раздел "Файлы моделей" учебника, на который вы ссылаетесь в своем вопросе: http://framework.zend.com/manual/current/en/user-guide/database-and-models.html