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

Другие вопросы по тегам